#1160 - Resource-FS XML work: staging site support

Identifier #1160
Issue type Feature request or suggestion
Title Resource-FS XML work: staging site support
Status Completed
Handling member Chris Graham
Addon commandr
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])
Steps to reproduce

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.
Related to

#152 - Improve XML import/export

Funded? No
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".

Rating

Unrated