Module: CmisServer
- Defined in:
- lib/cmis_server.rb,
lib/cmis_server/id.rb,
lib/cmis_server/type.rb,
lib/cmis_server/engine.rb,
lib/cmis_server/context.rb,
lib/cmis_server/version.rb,
lib/cmis_server/property.rb,
lib/cmis_server/constants.rb,
lib/cmis_server/item_type.rb,
lib/cmis_server/base_types.rb,
lib/cmis_server/exceptions.rb,
lib/cmis_server/repository.rb,
lib/cmis_server/cmis_object.rb,
lib/cmis_server/folder_type.rb,
lib/cmis_server/item_object.rb,
lib/cmis_server/item_adapter.rb,
lib/cmis_server/configuration.rb,
lib/cmis_server/document_type.rb,
lib/cmis_server/folder_object.rb,
lib/cmis_server/type_registry.rb,
lib/cmis_server/content_stream.rb,
lib/cmis_server/object_adapter.rb,
lib/cmis_server/secondary_type.rb,
lib/cmis_server/document_object.rb,
lib/cmis_server/query/statement.rb,
lib/cmis_server/base_objects/item.rb,
lib/cmis_server/query/parser.racc.rb,
lib/cmis_server/renderable_object.rb,
lib/cmis_server/base_objects/folder.rb,
lib/cmis_server/property_definition.rb,
lib/cmis_server/atom_pub/entry_parser.rb,
lib/cmis_server/base_objects/document.rb,
lib/cmis_server/renderable_collection.rb,
lib/cmis_server/base_objects/base_type.rb,
app/services/cmis_server/object_service.rb,
app/models/cmis_server/application_record.rb,
app/helpers/cmis_server/application_helper.rb,
app/services/cmis_server/discovery_service.rb,
app/services/cmis_server/navigation_service.rb,
app/services/cmis_server/repository_service.rb,
app/services/cmis_server/bulk_update_service.rb,
app/services/cmis_server/content_stream_service.rb,
app/services/cmis_server/secondary_type_service.rb,
app/services/cmis_server/type_management_service.rb,
app/controllers/cmis_server/application_controller.rb,
app/controllers/cmis_server/atom_pub/base_controller.rb,
app/controllers/cmis_server/atom_pub/bulk_controller.rb,
app/controllers/cmis_server/atom_pub/query_controller.rb,
app/controllers/cmis_server/atom_pub/types_controller.rb,
app/controllers/cmis_server/atom_pub/content_controller.rb,
app/controllers/cmis_server/atom_pub/entries_controller.rb,
app/controllers/cmis_server/atom_pub/repository_controller.rb,
app/controllers/cmis_server/atom_pub/uri_templates_controller.rb,
app/controllers/cmis_server/atom_pub/secondary_types_controller.rb,
app/controllers/cmis_server/atom_pub/folder_collection_controller.rb,
app/controllers/cmis_server/atom_pub/service_documents_controller.rb,
app/controllers/concerns/cmis_server/atom_pub/repository_scopable.rb
Defined Under Namespace
Modules: ApplicationHelper, AtomPub, BaseObjects, Query Classes: ApplicationController, ApplicationRecord, BaseType, BaseTypeDefinition, Boolean, BulkUpdateService, CmisObject, CmisStandardError, Configuration, ConstraintViolation, ContentStream, ContentStreamService, Context, DiscoveryService, Document, DocumentObject, DocumentType, Engine, EntryParser, Folder, FolderObject, FolderType, Id, InheritedDecorator, InvalidOperation, InvalidType, InvalidTypeDefinition, ItemAdapter, ItemObject, ItemType, NavigationService, NotSupported, ObjectAdapter, ObjectNotFound, ObjectService, Property, PropertyDefinition, RenderableCollection, RenderableObject, Repository, RepositoryService, RuntimeError, SecondaryType, SecondaryTypeService, Type, TypeManagementService, TypeRegistry
Constant Summary collapse
- VERSION =
"1.0.3"- CMIS_VERSION_SUPPORTED =
"1.1"- CMIS_NAMESPACE =
"http://docs.oasis-open.org/ns/cmis/core/201107/"- CMIS_REST_ATOM_NAMESPACE =
"http://docs.oasis-open.org/ns/cmis/restatom/201107/"- SECONDARY_TYPE =
Secondary Type Definition - déplacé ici pour éviter les dépendances circulaires
CmisServer::BaseTypeDefinition.new(id: 'cmis:secondary', parent_type: nil, description: "A CMIS secondary type", display_name: 'Secondary', creatable: false, fileable: false, queryable: true, controllable_policy: false, controllable_acl: false, property_definitions: [ CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:name'.freeze, type: String, required: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:description'.freeze, type: String, required: false}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:baseTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly, value: ->(obj) { obj.type.base_id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :oncreate, value: ->(obj) { obj.type.id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:createdBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:creationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModifiedBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModificationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:changeToken'.freeze, type: String, required: false, updatability: :readonly}), ] )
- ITEM_TYPE =
Item Type Definition - déplacé ici pour éviter les dépendances circulaires
CmisServer::BaseTypeDefinition.new(id: 'cmis:item', parent_type: nil, description: "A CMIS item", display_name: 'Item', creatable: true, fileable: true, queryable: true, property_definitions: [ CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:name'.freeze, type: String, required: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:description'.freeze, type: String, required: false}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:baseTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly, value: ->(obj) { obj.type.base_id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :oncreate, value: ->(obj) { obj.type.id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:secondaryObjectTypeIds'.freeze, type: CmisServer::Id, required: false, updatability: :readwrite, cardinality: :multi}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:createdBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:creationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModifiedBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModificationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:changeToken'.freeze, type: String, required: false, updatability: :readonly}), ] )
- DOCUMENT_TYPE =
CmisServer::BaseTypeDefinition.new(id: 'cmis:document', parent_type: nil, description: "A CMIS document", display_name: 'Document', creatable: true, fileable: true, queryable: true, property_definitions: [ CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:name'.freeze, type: String, required: true, updatability: :readwrite}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:description'.freeze, type: String, required: false, updatability: :readwrite}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:baseTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly, value: ->(obj) { obj.type.base_id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :oncreate, value: ->(obj) { obj.type.id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:secondaryObjectTypeIds'.freeze, type: CmisServer::Id, required: false, updatability: :readwrite, cardinality: :multi}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:createdBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:creationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModifiedBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModificationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:changeToken'.freeze, type: String, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isImmutable'.freeze, type: Boolean, required: false, updatability: :readonly, default: false}), # Versionning properties CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isLatestVersion'.freeze, type: Boolean, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isMajorVersion'.freeze, type: Boolean, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isLatestMajorVersion'.freeze, type: Boolean, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isPrivateWorkingCopy'.freeze, type: Boolean, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:versionLabel'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:versionSeriesId'.freeze, type: CmisServer::Id, required: false, cardinality: :single, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:isVersionSeriesCheckedOut'.freeze, type: Boolean, required: false, cardinality: :single, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:versionSeriesCheckedOutBy'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:versionSeriesCheckedOutId'.freeze, type: Id, required: false, cardinality: :single, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:checkinComment'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly}), # ContentStream properties CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:contentStreamLength'.freeze, type: Integer, required: false, cardinality: :single, updatability: :readonly, value: ->(obj) { obj.content_stream&.length }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:contentStreamMimeType'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly, value: ->(obj) { obj.content_stream&.media_type }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:contentStreamFileName'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly, value: ->(obj) { obj.content_stream&.filename }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:contentStreamId'.freeze, type: String, required: false, cardinality: :single, updatability: :readonly, value: ->(obj) { obj.content_stream&.id }}), ] )
- FOLDER_TYPE =
CmisServer::BaseTypeDefinition.new(id: 'cmis:folder', parent_type: nil, description: "A CMIS folder", display_name: 'Folder', creatable: true, fileable: true, queryable: true, property_definitions: [ CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:name'.freeze, type: String, required: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:description'.freeze, type: String, required: false}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:baseTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :readonly, value: ->(obj) { obj.type.base_id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:objectTypeId'.freeze, type: CmisServer::Id, required: true, updatability: :oncreate, value: ->(obj) { obj.type.id }}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:secondaryObjectTypeIds'.freeze, type: CmisServer::Id, required: false, updatability: :readonly, cardinality: :multi}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:createdBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:creationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModifiedBy'.freeze, type: String, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:lastModificationDate'.freeze, type: DateTime, required: false, updatability: :readonly, queryable: true, orderable: true}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:changeToken'.freeze, type: String, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:parentId'.freeze, type: CmisServer::Id, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:path'.freeze, type: CmisServer::Id, required: false, updatability: :readonly}), CmisServer::PropertyDefinition.register_property_definition({id: 'cmis:allowedChildObjectTypeIds'.freeze, type: CmisServer::Id, required: false, updatability: :readonly, cardinality: :multi}), ] )
- BASE_TYPES =
[DOCUMENT_TYPE, FOLDER_TYPE, SECONDARY_TYPE, ITEM_TYPE]
Class Attribute Summary collapse
Class Method Summary collapse
Class Attribute Details
.configuration ⇒ Object
9 10 11 |
# File 'lib/cmis_server.rb', line 9 def self.configuration @configuration ||= Configuration.new end |
Class Method Details
.configure {|configuration| ... } ⇒ Object
17 18 19 |
# File 'lib/cmis_server.rb', line 17 def self.configure yield(configuration) end |
.reset ⇒ Object
13 14 15 |
# File 'lib/cmis_server.rb', line 13 def self.reset @configuration = Configuration.new end |