-
Notifications
You must be signed in to change notification settings - Fork 0
Scope v1
The scope of v1 will be described in this document. All features listed in this document should be included in v1 before v1 gets launched.
No extra features will be added to v1 besides for the ones listed in this document. Feature requests may be made and if approved, they will be added to the scope of a certain version, which may be the current version or a future version.
To access Edify, the user needs to alter the URL. Example: domain.com => domain.com/edify
When not authenticated, the user who goes to the custom URL needs to authenticate before being able to access Edify. This will be done with a single username and a single password, simply configured in a config file inside the Edify project.
There will be a default empty admin account. If not configured, the user will be shown an error message saying he/she has to first configure the admin account, when trying to access Edify.
Every request of Edify requires authorization.
The main focus is to make Edify easy to install. A single directory of the project should be added to the root directory of the website to install Edify. One next step would be configuring the admin account with a username and password.
Wherever the user is inside Edify, he/she will have the option to logout and return to the actual website.
Only HTML (.html, .htm) file editing will be supported. If Edify is not able to retrieve the file of the current page (for example it being served by a progress, i.e. Node, .NET, or it being a PWA), the page will still be shown but without the option to edit (and a warning message). The same goes for unsupported file extensions, such as php files.
The user will be able to edit texts, such as p, textarea, span, etc. Probably every tag which contains plain text. Texts may contain other tags, such as a, img, span, strong, etc. These tags need to be displayed and be editable for the user in a user friendly way.
Edify will be able to recognise if content got loaded in dynamically. One example is a JavaScript script which inserts html into the page. This content will not be editable and the user will be notified of this.
Whenever the user makes changes, the user is told that his changes aren't published yet. A publish button appears after making changes. When clicked, all of the changes will be immediately published to the actual website, replacing the original files.
The user will be able to discard his/her changes, instead of publishing them. This will 'reset' the website to the original version (probably by just refreshing the page).