User:Alsroot/trash/Object Bundles: Difference between revisions

Line 34: Line 34:


Object bundle can be installed to Journal in two forms:
Object bundle can be installed to Journal in two forms:
* files from bundle will be unpacked and installing as separate files, bundle itself will be removed(similar to .xoj)<br>''METADATA'' should not contain ''[Composite]'' section
* files from bundle will be unpacked and installing as separate files, bundle itself will be removed(similar to .xoj)<br>''METADATA'' should not contain ''[Entry]'' section
* bundles will be installed as a composite object i.e. as a directory of packaged to the bundle files<br>''METADATA'' should contain ''[Composite]'' section
* bundles will be installed as a composite object i.e. as a directory of packaged to the bundle files<br>''METADATA'' should contain ''[Entry]'' section


Any field in METADATA file can have ''_file'' suffix, in that case content of this field(substring w/o ''_file'' suffix) will be fetched from file inside of the bundle.
Any field in METADATA file can have ''_file'' suffix, in that case content of this field(substring w/o ''_file'' suffix) will be fetched from file inside of the bundle.
Line 41: Line 41:
==== [Metadata] section ====
==== [Metadata] section ====


This section is mandatory. It describes Datastore metadata fields of final entry in Journal. If bundle is composite(section ''[Composite]'' presents) this section defines Journal entry to represent composite object, otherwise Journal entry for ''[Metadata]/file'' file.
This section is mandatory. It describes Datastore metadata fields of final entry in Journal. If bundle is composite(section ''[Entry]'' presents) this section defines Journal entry to represent composite object, otherwise Journal entry for ''[Metadata]/entry'' file.


{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
Line 49: Line 49:
! Notes
! Notes
|-
|-
| ''file''
| ''entry''
| mandatory
| mandatory
| if bundle is composite, ''file'' defines access point to composite object (e.g. index.html for library bundles); otherwise it defines file which will be installed to Journal
| if bundle is composite, ''entry'' defines access point to composite object (e.g. index.html for library bundles); otherwise it defines file which will be installed to Journal
|-
|-
| ''mime_type''
| ''mime_type''
| mandatory
| mandatory
| define metadata for a file which will be stored in Journal, for composite objects it defines type of ''file'' file(e.g. text/html for libraries)
| define metadata for a file which will be stored in Journal
|-
|-
| ''*''
| ''*''
Line 65: Line 65:
METADATA file could have several ''[Manifest]'' sections, in that case they should be parted by different suffixes e.g. ''[Manifest2]'', ''[Manifest.additional]'' etc. Multi-object bundles could be utilized in >0.86 for collections of objects or actions.
METADATA file could have several ''[Manifest]'' sections, in that case they should be parted by different suffixes e.g. ''[Manifest2]'', ''[Manifest.additional]'' etc. Multi-object bundles could be utilized in >0.86 for collections of objects or actions.


==== [Composite] section ====
==== [Entry] section ====


If this section exists bundle will be installed as composite object i.e. all bundle files will be represented by one Journal entry(could be useful in case of libraries).
If this section exists bundle will be installed as a composite object i.e. all bundle files will be represented by one Journal entry(could be useful in case of libraries).


{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
{| border=1 cellpadding=3 style="border: 1px solid white; border-collapse: collapse; background: #e3e4e5;"
Line 74: Line 74:
! Flags
! Flags
! Notes
! Notes
|-
| ''exec''
| optional
| how to activate Journal entry, overrides ''[Metadata]'' fields(like ''activity'' and ''mime_type'')
|-
|-
|}
|}