From the to-do list: MPA V1.0: API integration initial tasks
✔ List of changes & notes
(Completed by Pierre henri Seylan on March 6, 2019)
Comments
Pierre henri Seylan on August 16, 2018:
NOTES: The new API integration is a fairly critical step, we should make sure that no features are being removed/broken. To-do, let's follow the rules below:
If a feature is not understood correctly, ask Pierre about details
If the API is incomplete to integrate a certain functionality, add a to-do in the Basecamp server project with technical description for the server team
#1 SOUND LIBRARY:
1.1 home page datas: The home pages displays mostly datas which where already available besides:
Slideshow images for featured packs
Most popular packs and sounds
Factory collections
1.2 dynamic loading: All items are now loaded dynamically
1.3 dynamic filtering: The filtering should also occur dynamically. Some cache mechanism is required in order to avoid repeating the requests and especially support offline/local modes (using the local DB)
1.4 filtering by key: Key filters are a new type of tags.
1.5 tags aliases: Tags aliases are bound to a tag and are duplicates of a tag named differently. for example: "piano" and "keys" (keys is an alias of piano) This will be used for the automatic tagging feature
1.6 support for files icons: The new API is supposed to return the latest icon file, along with references for several files types. This will allow to assign an icon to a file format/type, without the need to have it hardcoded
1.7 New label for packs and sounds: The new API should return the correct server date, so that it is possible to compare with the local DB and determine which items are new for a user.
1.8 popularity note: The popularity note is a new parameter which is calculated on the server. This is applied to sound items and sound packs/collections. It will be displayed as a note and used for sorting.
1.9 Packs/ collections: It should now be possible to do the following:
editing packs/collections datas after the creation of the item
downloading an entire pack/collection at once
adding tags to a pack/ collection/ folder
favoriting a pack
adding a pack/collection to a collection (all datas added to the collection)
retrieving the creator of a sound pack/collection (along with an hyperlink)
#2 PLUGINS SECTION: The new API now features a plugins section, it returns a list of plugins along with the presets for this plugin and meta datas for the plugin (name, description, tags etc) In a second step, we will implement the installation of the factory plugins via the desktop client. This should simplify the update mechanism for the plugins, however most of this sin not implemented yet in the API.
#3 PROJECTS:
3.1 Revisions number index: The API should assign a number index to a revision when being registered. For example V1, V2, V3 etc
3.2 Revision sizes: The size of each revision should be returned
3.3 Adding plugins to revisions/projects: It should be now possible to add plugins (by id) in the revisions infos. This should normally also work for the entire project However the parsing of projects files is not yet implemented in the app, so plugins can't be assigned to the revision.
#4 ISSUES FROM PREVIOUS VERSION: The issues described below should normally be improved in the new version:
4.1. Login: When credentials were wrong, the server didn't returned a proper error (only sometimes and after a while)
4.2. Issue when uploading pack's images: When uploading packs cover images in a certain format the server returned an error.
4.3. Missing packs/collections features: Some features were missing for the packs/collections:
not possible to edit packs/collections infos after initial creation
not possible to bind datas to packs/collection items
not possible to retrieve the creator of a pack/collection
4.4. Performance issues:
Slow loading of packs/collections detail page, for packs with a lot of binded items (200+)
Slow loading of sound library (when initially opening the app)
Storage space, new revisions and other datas not being updated fast enough (for example storage space update after uploading a data)
Comments
Pierre henri Seylan on August 16, 2018:
The new API integration is a fairly critical step, we should make sure that no features are being removed/broken.
To-do, let's follow the rules below:
#1 SOUND LIBRARY:
1.1 home page datas:
The home pages displays mostly datas which where already available besides:
1.2 dynamic loading:
All items are now loaded dynamically
1.3 dynamic filtering:
The filtering should also occur dynamically.
Some cache mechanism is required in order to avoid repeating the requests and especially support offline/local modes (using the local DB)
1.4 filtering by key:
Key filters are a new type of tags.
1.5 tags aliases:
Tags aliases are bound to a tag and are duplicates of a tag named differently.
for example: "piano" and "keys" (keys is an alias of piano)
This will be used for the automatic tagging feature
1.6 support for files icons:
The new API is supposed to return the latest icon file, along with references for several files types.
This will allow to assign an icon to a file format/type, without the need to have it hardcoded
1.7 New label for packs and sounds:
The new API should return the correct server date, so that it is possible to compare with the local DB and determine which items are new for a user.
1.8 popularity note:
The popularity note is a new parameter which is calculated on the server.
This is applied to sound items and sound packs/collections.
It will be displayed as a note and used for sorting.
1.9 Packs/ collections:
It should now be possible to do the following:
#2 PLUGINS SECTION:
The new API now features a plugins section, it returns a list of plugins along with the presets for this plugin and meta datas for the plugin (name, description, tags etc)
In a second step, we will implement the installation of the factory plugins via the desktop client.
This should simplify the update mechanism for the plugins, however most of this sin not implemented yet in the API.
#3 PROJECTS:
3.1 Revisions number index:
The API should assign a number index to a revision when being registered.
For example V1, V2, V3 etc
3.2 Revision sizes:
The size of each revision should be returned
3.3 Adding plugins to revisions/projects:
It should be now possible to add plugins (by id) in the revisions infos.
This should normally also work for the entire project
However the parsing of projects files is not yet implemented in the app, so plugins can't be assigned to the revision.
#4 ISSUES FROM PREVIOUS VERSION:
The issues described below should normally be improved in the new version:
4.1. Login:
When credentials were wrong, the server didn't returned a proper error (only sometimes and after a while)
4.2. Issue when uploading pack's images:
When uploading packs cover images in a certain format the server returned an error.
4.3. Missing packs/collections features:
Some features were missing for the packs/collections:
4.4. Performance issues: