Setup and Configure Nuxeo
We are evaluating Nuxeo Document Management for building an enterprise business solution.
If we would like to review the design and data model of Nuxeo being open source platform and contribute back with our feedback to Nuxeo then what is the best way to contribute to Nuxeo Open Source project? If we have to select Nuxeo for our enterprise application then there might be some technical improvements that we would like to see in Nuxeo but how open Nuxeo is to incorporate any such feedback?
I have few questions related to Nuxeo database schema customization and setup:
Setup Database Schema
Does nuxeo provide any separate DB scripts (like Liferay) for oracle database to setup the schema before starting nuxeo? Liferay does provide both options, i.e. setup schema via separate DB scripts or via Liferay application
Database Schema Customization
Currently tables created as part of directory structure are in small case i.e. table name and column names. Is it possible to create same table structure with upper case?
Primary Key are missing in few tables i.e ACLR, ACLR_MODIFIED, ACLR_PERMISSION, ACLR_USER, ACLR_USER_MAP, ACLS, ANCESTORS, BAS_EVENTCATEGORIES, BAS_EVENTIDS, DC_CONTRIBUTORS, DC_SUBJECTS, DOCRI_PARTICIPATINGDOCUMENTS, DR$FULL_01EDA94D_IDX$I,DR$FULL_01EDA94D_IDX$R, DR$FULL_8FEEFF02_IDX$I, DR$FULL_8FEEFF02_IDX$R, DR$FULLTEXT_FULLTEXT_IDX$I, group2group, MODERATORS, NT_ACTORS, PUBLISH_SECTIONS, REL_SRCH_ECM_PATH, RNODE_TASKASSIGNEES, SEARCH_COVERAGE, SEARCH_CURRENTLIFECYCLESTATES, SEARCH_NATURE, SEARCH_SEARCHPATH, SEARCH_SUBJECTS, TKST_ACTORS, TKST_COMMENTS, UITYPESCONF_ALLOWEDTYPES, UITYPESCONF_DENIEDTYPES, user2group. Is it possible to add numeric Primary keys for each table?
Nuxeo uses non-numeric primary keys. But is it possible to have numeric primary keys?
Is it possible to change table names by adding some prefix or suffix
Is it possible to add a new column in tables?
If we apply any of the above points, will it have any impact on future migration from one version of nuxeo to other version?
0/ Setup database schema: Nuxeo does not provide a DDL script but you can start an instance, export and edit the schema, then disable the DDL checks at startup, See http://doc.nuxeo.com/x/hwQz
1/ No, table and column names are referenced using double quote, this means that they are used in case sensitive way.
2/ For some of these tables this is intentional they are very small and at some point may contains duplicate rows without any consequence.
3/ No, the core system works with string uid, we have plans to support numeric type like uuid in PostgreSQL https://jira.nuxeo.com/browse/NXP-4803
4/ No, at the moment this is not supported but this can be implemented easily.
5/ Yes, you can add columns to tables.
6/ On upgrade you will have to enable the DDL checks, if there are no conflict with your columns it should have no impact.
1/ for directories, you can tell them to use the native database case using
<nativeCase>true</nativeCase>. See SQLDirectoryFactory–directories for details.
In the context of free or subscribed support and partnerships, we may also help you in designing and organizing your developments (custom, improvements, customizations, …). When we think some changes are not too much customer-specific but useful for the platform, we are very happy to include them in the core.
In any case, given the Nuxeo development model, it's easy to write your changes as an addon to the platform which you are encouraged to contribute back to the community.
All feedbacks and contributions are very welcome, given the constraints they are fixing or improving the platform, properly described in a Jira issue and covered by Unit Tests.
Could you please provide some feedback on our Setup Database Schema and Database Schema Customization specific questions also?