Schema-oriented content management system
Abstract
A schema-oriented content management system, in particular to an apparatus and a method for storing and accessing data in a content management system which allows content schema evolution while maintaining operation based on already stored content data. A data processing apparatus for storing and accessing data in a content management system comprises a content object generation arrangement for generating content objects to store content data, wherein a content object comprises a plurality of property-value bindings, a content object storing arrangement for storing generated content objects, a content schema generation arrangement for generating an object-oriented content schema to model content data, a content schema storing arrangement for storing the generated content schema, and a content object accessing arrangement to access stored content objects by way of the stored content schema.
Claims
exact text as granted — not AI-modifiedWhat is is claimed is:
1 . Method for storing and accessing data in a content management system, wherein content data is stored in content objects ( 5 , 6 , 7 ) comprising a plurality of property-value bindings, wherein a content object ( 5 , 6 , 7 ) can bind properties ( 2 , 3 , 4 , 9 , 16 ) to values, wherein each property ( 2 , 3 , 4 , 9 , 16 ) has a respective property type and the values are stored according to the property type corresponding to the respective property ( 2 , 3 , 4 , 9 , 16 );
an object-oriented content schema ( 10 , 11 ) for modelling content data by defining content object types ( 1 , 8 ) is generated and stored, wherein the content object types ( 1 , 8 ) declare required object properties ( 2 , 3 , 4 , 9 , 16 ); and a content object ( 5 , 6 , 7 ) is accessed by means of the content schema ( 10 , 11 ).
2 . Method according to claim 1 , wherein the integrity of the stored content objects ( 5 , 6 , 7 ) is examined by verifying if the stored content objects ( 5 , 6 , 7 ) match the content schema ( 10 , 11 ).
3 . Method according to claim 2 , wherein upon a detection of an integrity issue a predetermined issue resolution procedure resolves the mismatch by adapting the content data, a mismatch report is generated, and/or the data mismatching the content schema is presented to a user who is prompted to adapt the data.
4 . Method according to claim 2 or 3 , wherein the integrity of content objects ( 5 , 6 , 7 ) is examined by comparing the types and the properties ( 2 , 3 , 4 , 9 , 16 ) of stored objects ( 5 , 6 , 7 ) to the object type definitions ( 1 , 8 ) of the content schema ( 10 , 11 ).
5 . Method according to any one of claims 2 to 4 , wherein upon a detection of an integrity issue a predetermined issue resolution procedure is invoked to resolve the schema mismatch by adapting property values and/or property types of content objects ( 5 , 6 , 7 ) mismatching the content schema ( 10 , 11 ).
6 . Method according to any one of claims 1 to 5 , wherein a property is a link property linking a content object having the link property to a target object and/or a property is a link collection property comprising a set or bag of links to target objects.
7 . Method according to any one of claims 1 to 6 , wherein the content schema ( 10 , 11 ) is imposing constraints on the content objects ( 5 , 6 , 7 ); and wherein the integrity of the stored content objects ( 5 , 6 , 7 ) is examined by verifying the constraints imposed on the stored content objects ( 5 , 6 , 7 ).
8 . Method according to claim 7 , wherein the constraints imposed on content objects ( 5 , 6 , 7 ) relate to permitted and/or required properties of objects ( 5 , 6 , 7 ) and/or to attributes of properties ( 2 , 3 , 4 , 9 , 16 ), such as permissible ranges of property values or types of link property targets.
9 . Method according to claim 7 or 8 , wherein upon a violation of a constraint a predetermined issue resolution procedure resolves the schema violation by adapting the content data violating the constraint, in particular by adapting, adding, or removing property values.
10 . Method according to any one of claims 1 to 9 , wherein in response to a content schema modification the integrity of stored objects ( 5 , 6 , 7 ) is examined only for those objects that may be affected by the schema modification.
11 . Method according to claim 10 , wherein the integrity is examined for objects of a modified object type or a subtype of the modified object type, for objects comprising a modified property, and/or for objects affected by modifications of constraints relating to attributes of properties.
12 . Method according to any one of claims 1 to 11 , wherein a property is a computed property, and the value of the computed property is automatically calculated upon access on a content object whose type declares the computed property.
13 . Method according to claim 12 , wherein the value of a computed property of an object is calculated based on a set of properties of that object, or the value of a computed property is a collection of objects having link properties which are linking back to a content object having the computed property, or on a link collection property of that object and property values of the objects referenced by the link collection.
14 . Method according to any one of claims 1 to 13 , wherein resource versions for modifications of content objects ( 5 , 6 , 7 ) or object type definitions ( 1 , 8 ) are recorded, wherein for the purpose of versioning content objects ( 5 , 6 , 7 ) and object type definitions ( 1 , 8 ) are treated uniformly as resources.
15 . Method according to claim 14 , wherein a label referring to a set of objects each having a specified version and/or a label referring to a content schema version comprising an aggregation of object type definitions ( 1 , 8 ) each having a specified version are stored.
16 . Method according to claim 14 or 15 , wherein versions of content objects comprising link properties or link collection properties are stored irrespective of the versions of target objects.
17 . Method according to any one of claims 1 to 16 , wherein the content schema ( 10 , 11 ) and the content objects ( 5 , 6 , 7 ) are stored in j workspaces ( 12 , 13 , 14 , 15 ); and wherein modifications of the content schema ( 10 , 11 ) and the content objects ( 5 , 6 , 7 ) remain local to the respective workspace ( 12 , 13 , 14 , 15 ) in which the modification occurred until explicitly transferred to another workspace ( 12 , 13 , 14 , 15 ).
18 . Method according to claim 17 , wherein a development workspace ( 12 ) for the modification of the content schema ( 10 , 11 ), a production workspace ( 13 ) for the generation and modification of content objects ( 5 , 6 , 7 ) and an integration workspace ( 15 ) for the integration of content schema modification, content object generation, and content object modification are provided.
19 . Method according to claim 17 or 18 , wherein different versions of the same resource from a source and a target workspace are unified in the target workspace by selecting the latest version for the resource of one workspace, if the latest version of the other workspace is preceding the selected version; otherwise a version conflict is detected and the versions from both workspaces are marked as conflicting versions.
20 . Method according to claim 19 , wherein the conflicting versions for the same resource are merged into a single version; and wherein the merging is performed individually for every property used in any of the versions, taking into account the property values of a suitable determined common predecessor version of all conflicting versions and the property values of the conflicting versions.
21 . Method according to claim 19 or 20 , wherein a merge procedure for selecting one of the conflicting versions as merged version of the resource for selecting one of the property values of the conflicting versions as merged property value for the resource, or for calculating a property value based on the property values of the conflicting versions is invoked.
22 . Method according to any one of claims 1 to 21 , wherein a content object ( 5 , 6 , 7 ) is accessed or presented to a user by accessing each property ( 2 , 3 , 4 , 9 , 16 ) of the content object according to the respective property declaration and/or the object type definition ( 1 , 8 ) for the content object ( 5 , 6 , 7 ).
23 . Method according to any one of claims 1 to 22 , wherein content objects ( 5 , 6 , 7 ), object types ( 1 , 8 ) and/or properties ( 2 , 3 , 4 , 9 , 16 ) are identified by unique invariable identifiers.
24 . Method according to claim 23 , wherein content objects ( 5 , 6 , 7 ) and/or content types ( 1 , 8 ) are represented in a persistent store that is updated transactionally, in particular in a relational database or an object database.
25 . Method according to any one of claims 1 to 24 , wherein event notifications are distributed upon changes to the content objects or the schema.
26 . Computer program comprising program code means for performing the method of any one of the claims 1 to 25 .
27 . Computer program product comprising program code means stored on a computer readable medium for performing the method of any one of the claims 1 to 25 when the computer program product is executed on a computer.
28 . Computer readable medium storing a computer program for performing the method of any one of the claims 1 to 25 when the computer program is executed on a computer.
29 . Data processing apparatus for storing and accessing data in a content management system, comprising:
content object generation means ( 20 ) for generating content objects ( 5 , 6 , 7 ) to store content data, wherein a content object ( 5 , 6 , 7 ) comprises a plurality of property value bindings, wherein each property ( 2 , 3 , 4 , 9 , 16 ) has a respective property type and the values correspond to the respective property type; content object storing means ( 21 ) for storing generated content objects ( 5 , 6 , 7 ); content schema generation means ( 22 ) for generating an object-oriented content schema ( 10 , 11 ) to model content data by defining content object types ( 1 , 8 ), wherein a content object type ( 1 , 8 ) declares required object properties; content schema storing means ( 23 ) for storing the generated content schema ( 10 , 11 ); and content object accessing means ( 24 ) to access stored content objects ( 5 , 6 , 7 ) by means of the stored content schema ( 10 , 11 ).
30 . Data processing apparatus according to claim 29 , comprising an integrity examination means to examine the integrity of the stored content objects ( 5 , 6 , 7 ) by verifying if the stored content objects ( 5 , 6 , 7 ) match the stored content schema ( 10 , 11 ).
31 . Data processing apparatus according to claim 30 , comprising an integrity issue resolution means to resolve a detected schema mismatch by adapting the respective content data.
32 . Data processing apparatus according to any one of claims 29 to 3 1 , comprising a resource version recording means to record resource versions for modified content objects ( 5 , 6 , 7 ) or object type definitions ( 1 , 8 ), wherein content objects ( 5 , 6 , 7 ) and object type definitions ( 1 , 8 ) are handled uniformly as resources.
33 . Data processing apparatus according to any one of claims 29 to 32 , comprising a workspace means to store individual versions of the content schema ( 10 , 11 ) and the content objects ( 5 , 6 , 7 ) in workspaces ( 12 , 13 , 14 , 15 ), wherein modifications of the content schema ( 10 , 11 ) and the content objects ( 5 , 6 , 7 ) remain local to the respective workspace ( 12 , 13 , 14 , 15 ) in which the modification occurred until explicitly transferred to another workspace ( 12 , 13 14 , 15 ).
34 . Data processing apparatus according to claim 33 , comprising an unification and merging means to integrate different versions of the same resource from a source and a target workspace.
35 . Data processing apparatus according to any one of claims 29 to 34 , comprising a database means to store content objects ( 5 , 6 , 7 ) and/or content type definitions ( 1 , 8 ) persistently.
36 . Data processing apparatus according to any one of claims 29 to 35 , comprising an input means to input content data to be stored in content objects ( 5 , 6 , 7 ) and/or comprising an output means to j output content data by accessing each property ( 2 , 3 , 4 , 9 , 12 ) of a stored content object ( 5 , 6 , 7 ) according to the respective property declaration and/or an object type definition ( 1 , 8 ) stored in the content schema storing means ( 23 ).Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.