-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade news data model to note Part 1 #119
Upgrade news data model to note Part 1 #119
Comments
I have created this DRAFT Mip with the content discussed during our Meeting of January 23rd. |
Added a rationale |
IMHO the Metadata API is not the good solution to use here. In addition, polluting the Notes data model with News fields and Business logic can make both products unmaintainable and hard to evolve. I propose to study more the Software Architecture by bringing a second option where we use a specific database Model for News (duplicating code in this special case, can reduce complexity and reduces the cost of flexibility IMO). Eager to discuss more about this. |
@boubaker If I have understand your point, you mean that News should have its own tables (exactly like notes ones) + the specific news fields. A duplication of code will be done also for all notes layers + search. |
For my part I think that we have the following disadvantages with current design:
To design an addon which will extend another (like we do in all other type of addons), we have to add extension points (using extension registry for the front end And Plugins for the backend). Considering this, IMO, we should rethink the technical design to benefit from Notes existing behaviors instead. There is no functional requirement in the MIP, thus it will be difficult to design a good solution. But if :
Then, like we do for Activities, we should keep the original behavior of Notes without changing it and just add a Data Model Table to decorate the Notes Object with additional fields like:
Those information should be stored and managed outside of Notes and managed in UI using extensionRegistry extensibility. PS: as the current technical requirement doesn't use Metadata API for adding additional fields (like Summary & Title), I think it would be better to not use it for News for now and keep the design of using Metadata Model when a dedicated MIP to CMS is proposed. (It would simplify the development of current MIP, but I let you choose between using a dedicated Table for News or Using the Metadata API) |
I vote for using dedicated tables for news and not the metadata, since the data model of news will complete the "Notes" one, we should have:
|
I let you decide, from my part not changing notes but making it extensible to support News features through |
…ing the first draft article - EXO-70331 - Meeds-io/MIPs#119
…e first draft article - EXO-70331 - Meeds-io/MIPs#119
…70331 - Meeds-io/MIPs#119 This change is going to allow to create a root note page other that the homepage .
…70331 - Meeds-io/MIPs#119 This change is going to allow to create a root note page other that the homepage .
Meeds-io/MIPs#119 #52 Prior to this change, the 'deleted' property for news article metadata items was not defined during the news article creation process. This change will define the 'deleted' property for the news article metadata items during the creation process, and this property will also be updated when the news article is marked as deleted.
Meeds-io/MIPs#119 #52 Prior to this change, the 'deleted' property for news article metadata items was not defined during the news article creation process. This change will define the 'deleted' property for the news article metadata items during the creation process, and this property will also be updated when the news article is marked as deleted.
Meeds-io/MIPs#119 #52 Prior to this change, the 'deleted' property for news article metadata items was not defined during the news article creation process. This change will define the 'deleted' property for the news article metadata items during the creation process, and this property will also be updated when the news article is marked as deleted.
Meeds-io/MIPs#119 (#53) Prior to this change, the 'deleted' property for news article metadata items was not defined during the news article creation process. This change will define the 'deleted' property for the news article metadata items during the creation process, and this property will also be updated when the news article is marked as deleted.
Meeds-io/MIPs#119 (#53) Prior to this change, the 'deleted' property for news article metadata items was not defined during the news article creation process. This change will define the 'deleted' property for the news article metadata items during the creation process, and this property will also be updated when the news article is marked as deleted.
Prior to this change, the DraftPageDAOTest unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the DraftPageDAOTest unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the `DraftPageDAOTest` unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the `DraftPageDAOTest` unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Prior to this change, the unit Test randomly fails when two draft pages are added at the same millisecond on CI. This change ensures to added both draft pages in different period of time to make the unit test independent from Tests execution performances.
Rationale
eXo is working on bringing it's full-featured news publishing system to meeds by leveraging Notes as content storage.
Changes need to be applied to notes prior bringing the News features.
1. Functional requirements
Update :
The following requirement are moved in another MIP #130 :
2. Technical Requirements
Feature Flags
3. Software Architecture
Services & processing
Social addon
Notes addon
Content addon
Sequence diagram for create draft article use case:
Sequence diagram for get draft article use case
Data and persistence
SOC_METADATAS table:
METADATA_ITEM table:
METADATA_ITEM_PROPERTIES table:
My draft article Summary
My article version 20 Summary
My article first version Summary
My draft for existing article Summary
The text was updated successfully, but these errors were encountered: