You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Project API is unnecessarily complex for some basic operations like retrieving the list of current workspaces. It forces the client code to use Lookup while this should be reserved for more advances use cases. This could be improved while maintaining the backward compatibility.
Another issue is the need for client code to utilise the ProjectControllerUI in reality, instead of the ProjectController. This class belongs to the DesktopProject module is totally undocumented, creating confusion how to manipulate project from plugins. Creating new projects should be accessible directly from the ProjectAPI module. The UI should be reactive to it.
Finally, in order to prepare the ground for autosave and undo/redo we'll need to have a local project folder where to persist autosaves. Currently, one can associate a file to a Project but that's not sufficient. The idea would be to have a unique folder per project stored in the user directory. The list of user projects would be persisted and would replace the "Recent Projects" feature.
Definition of done
- API cleanup
- Project has a unique identifier so that we can have a unique folder
- ProjectControllerUI is listening to changes in ProjectAPI so that it no longer is stateful.
- All saved projects (one with a corresponding file) should be listed in getProjects
- Projects have a last modified timestamp so we can easily sort them by last changed
- SettingsUpgrader also includes those local project folders
- Exclusion of Projects from the MostRecentFilesAPI as no longer needed. We keep it for file imports.
- Welcome Screen shows all projects (sorted by last changed). Still shows recent files but not for projects.
- Projects that are never saved and Gephi is quitted properly should be cleaned up
The text was updated successfully, but these errors were encountered:
The Project API is unnecessarily complex for some basic operations like retrieving the list of current workspaces. It forces the client code to use Lookup while this should be reserved for more advances use cases. This could be improved while maintaining the backward compatibility.
Another issue is the need for client code to utilise the
ProjectControllerUI
in reality, instead of theProjectController
. This class belongs to theDesktopProject
module is totally undocumented, creating confusion how to manipulate project from plugins. Creating new projects should be accessible directly from theProjectAPI
module. The UI should be reactive to it.Finally, in order to prepare the ground for autosave and undo/redo we'll need to have a local project folder where to persist autosaves. Currently, one can associate a file to a Project but that's not sufficient. The idea would be to have a unique folder per project stored in the user directory. The list of user projects would be persisted and would replace the "Recent Projects" feature.
Definition of done
ProjectControllerUI
is listening to changes inProjectAPI
so that it no longer is stateful.getProjects
SettingsUpgrader
also includes those local project foldersMostRecentFilesAPI
as no longer needed. We keep it for file imports.The text was updated successfully, but these errors were encountered: