View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
1160 | Composr | commandr | public | 2013-04-11 00:09 | 2016-01-24 17:13 |
Reporter | Chris Graham | Assigned To | Chris Graham | ||
Priority | normal | Severity | feature | ||
Status | resolved | Resolution | fixed | ||
Summary | 1160: Resource-FS XML work: staging site support | ||||
Description | For Resource-FS to meet it's real potential, some extra work is required to make the interchange use XML, rather than PHP serialisation. Additional things like base64 inclusion of linked files is required. This will need to be done before Resource-FS is ready for use outside of being an internal Composr API. We don't need this yet, but we do by the time Composr v10 is done. What follows is a very technical TODO-dump, which I understand, but probably nobody else will... Resource-FS continuation work XML work Modularise the XML import/export code, so that the row-based functionality is limited, and we can soon draw on the general functionality for our resource-based XML files (below) Improve XML import/export http://compo.sr/tracker/view.php?id=152 ; Handling of periodic content reviews? file_load_xml/folder_load_xml XML is generated Referential properties should be automatically extended out to also include GUID and Filename and Label references Ensure "SHORT_TEXT|forum" handled correctly Language string handling; NB: ensure get_translated_text runs on the right DB Handling of uploads, marry URLPATH to actual file Improve generated XML files with comments Put in editing and view URLs for resources Put in subpath, content type, content ID, and GUID file_save_xml/folder_save_xml XML is parsed into $properties; or, if not XML, it just uses array('raw'=>$path) as $properties When reading in, we try and remap IDs by looking for a GUID match, and if that fails, a filename match, and if that fails, create new content item via Label (i.e. decide whether to add or edit) Ensure "SHORT_TEXT|forum" handled correctly Calls file_add/folder_add/file_edit/folder_edit Language string inserting; NB: ensure insert_lang runs on the right DB; NB: Will need some kind of logging of new insertions/updates, so we can automatically put multi-lang against them Change some things from LONG_TEXT to SERIALIZED, and convert it to XML instead of PHP serialization on file_load_xml/folder_load_xml, and from on file_add_xml/folder_add_xml After edit_date in the XML, put a comment saying you can comment it out for auto-generation; when reading properties in for saving, if missing default to time() Finalisation (Run code quality checker) (Lots of manual testing, reading and writing lots of content files via webdav [once that's implemented]) | ||||
Additional Information | Here's a code dump, of very roughly how dependency resolution would work: ADDING/EDITING: $portable=($_portable=='')?array('label'=>do_lang('UNKNOWN')):@unserialize($_portable); $dep_id=intval($this->remap_portable_as_resource_id($dep_resource_type,$portable)); LOADING: serialize($this->remap_resource_id_as_portable($dep_resource_type,strval($dep_id))), serialize would be replaced with XML-based serialisation of course. | ||||
Tags | No tags attached. | ||||
Attach Tags | |||||
Time estimation (hours) | 20 | ||||
Sponsorship open | |||||
related to | 152 | Resolved | Chris Graham | Improve XML import/export |
child of | 1090 | Resolved | Chris Graham | WebDav for Commandr-fs |