-TikiStorage is a mechanism for attaching files to any PackageOutlaw derived content (wiki, blogs).
|
+{maketoc maxdepth=2} |
|
-The tiki_storage table is an abstraction to the actual file location. This permits one to use the local file system (tiki_files) or database binary objects (tiki_blobs) or even tables from other 3rd party application ( like a g_id from [http://gallery.sourceforge.net|gallery2] ). TikiStorage derived objects use the public methods to have a "black box" for storing files, and the actual location is dependent on system settings.
|
+!Technical Overview |
+LibertyAttachments is a mechanism for attaching __any__ ID based mechanism to any LibertyPackage-derived content (wiki, blogs). |
|
-All functionality is in the PackageOutlaw package. There is a TikiStorage class that handles all storing and retrieving of data. Currently, only tiki_files is supported. Future support (blobs, gallery2, etc.) will depend on community support and developer interest.
|
+The liberty_attachments table is an abstraction to the actual file location. This permits one to use the local file system (liberty_files) or database binary objects (liberty_blobs), tables from other 3rd party application (like a g_id from [http://gallery.sourceforge.net|gallery2]), or even links to other websites such as [http://www.pbase.com|pbase]. LibertyAttachable extended objects use the public methods to have a "black box" for attaching data, and the actual location is dependent on the attachment plugin. |
|
-Here is a diagram of how the Tables interface:
|
+All functionality is in the LibertyPackage package. There is a LibertyAttachable class that handles all storing and retrieving of attachment data. Currently, there are plugins for Lulu, PBase and uploads via bit_files. Future support (blobs, gallery2, etc.) will depend on community support and developer interest. |
+ |
+Here is a diagram of how the tables interface (note this diagram was prior to ReleaseOne and the names have changed in ReleaseTwo, however the ideas are largely still the same): |
+ |
+{attachment id=561 size=large href=/storage/users/2/2/images/561/tiki_content.png} |
+ |
+! Features |
+!! Ajax Attachments |
+Ajax Attachments lets you upload files without refreshing the whole form. When you enabled ''Enforce Content Status'' you can even upload files when you are first creating a new content item. |
+ |
+!!! For Developers |
+!!!! Ajax Attachments Process Trees |
+These two sketches show the basics of how the various ajax attachment templates are called and what key javascript and form elements they contain that make up the entire process. This is handy for debugging or modifying the code. |
+ |
+__Starting at inclusion of edit_storage.tpl from a content edit form__ |
+{code} |
+edit_storage.tpl |
+ If Mime default enabled |
+ Files: mime_default_upload_inc.tpl |
+ Elms: INPUT: upload |
+ Action: LA.uploader( [this:upload], liberty_upload_frame, form_name ) |
+ LA.uploaderSetup( upload ) |
+ Files: attachment_uploader_inc.tpl |
+ Elms: FRAME: liberty_upload_frame |
+ Action: LA.uploaderComplete( [this:liberty_upload_frame], upload, form_name ) |
+ |
+ edit_storage_list.tpl |
+ Elms: DIV: edit_storage_list |
+ DIV: edit_storage_list_tab |
+ Action: BA.updater( [this:edit_storage_list_tab] ) (delete) |
+ BA.updater( edit_storage_list ) (get update after delete - not a great place for this) |
+ |
+ Else Legacy |
+ Files: storage.bitfile.php |
+ Elms: INPUT: upload |
+ Action: LA.uploader( [this:upload], liberty_upload_frame, form_name ) |
+ Files: attachment_uploader_inc.tpl (see above) |
+ |
+ edit_storage_list.tpl (see above) |
+{/code} |
+ |
+__Starting at the ajax upload handler file__ |
+{code} |
+attachment_uploader.php |
+ Files: edit_storage_list.tpl (see above) |
+ edit_storage_list.tpl (tab) (see above) |
+{/code} |
|
-{img src=http://www.tikipro.org/imagegals/show_image.php?id=29 align=center } |