Loading...
 
Skip to main content

History: File Gallery Revamp

Source of version: 84 (current)

Copy to clipboard
{REMARKSBOX(type="note" title="Note")}{DIV(type="h3")}Revamp started{DIV}According to an dev-email from Victor it turns out, that some parts of the revamp arr completed.The team decided to implement Flysystem, with adapters for Local, AWS S3, Rackspace, Dropbox, Ftp, Sftp, Zip, WebDAV. Please see also: __((External Storage))__ {sign user="Torsten" datetime="2022-02-02T15:29:11+00:00"}{REMARKSBOX}

Some notes about a File Gallery revamp started in ((Tiki20)). This will not be as big as Tracker Revamp in Tiki7, but still important.

Migration to ((elFinder)) has started.

* [blogpost19|Tech background about File Galleries by Louis-Philippe] __important__
* Should be able to convert files if appropriate tools are available on the server (FFmpeg is available on ClearOS and many other distros)
** Ex.: from .flv to .webm (even better to MPEG-Dash)
* https://github.com/alchemy-fr/Media-Alchemyst/blob/master/README.md is now in Tiki and it can use https://github.com/dagwieers/unoconv __<-- This one deserves special attention {sign user="marclaporte" datetime="2015-04-12T13:21:10+00:00"}__
* http://mailru.github.io/FileAPI/ (lots of great features!)
** {HTML()}<script type="text/javascript" src="https://www.openhub.net/p/624207/widgets/project_factoids_stats.js"></script>{HTML}
* {HTML()}<script type="text/javascript" src="https://www.openhub.net/p/675956/widgets/project_factoids_stats.js"></script>{HTML}
* If we point to regular folders, we could use something like http://larsjung.de/h5ai/ to make them nicer to browse
* Use ClearOS filesystem as a potential back-end, as part of [http://wikisuite.org|WikiSuite]
* http://plone.org/products/zope-externaleditor-client
* [https://packagist.org/packages/knplabs/gaufrette|PHP5 library that provides a filesystem abstraction layer]
** https://packagist.org/search/?tags=filesystem
* [http://old.nabble.com/-Tiki-devel-The-files-directory-and-how-to-make-it-easy-safe-for-people-not-to-store-files-in-MySQL-td34445022.html]
* Take advantage [http://www.html5rocks.com/en/features/file_access|HTML5 file access]
* [https://kolab.org/news/2013/07/16/kolab-3.1-alpha-released-irony|Our new Kolab Files feature seamlessly integrates into our web interface. On the right you can see a screenshot where you can choose to attach files from your Kolab files storage right to the email you are writing without first upload files to the server. We build this features to allow componentized usage in other web applications. There is a middleware allowing for multiple backends. For reference we provide a simple file storage based on IMAP to demonstrate how this all works. It is now trivial to integrate Kolab with ownCloud, Dropbox or any other service.]
** http://kolab.org/news/2013/08/07/community-news-meet-chwala-kolabs-new-files-component
* ((Large wiki attachments))
* ((File Metadata))
* ((CMIS))
* [http://tiki.org/tiki-view_forum_thread.php?forumId=4&comments_parentId=45588|Batch upload zip file contents in sequential order]
* ((Binary File Handling))
* ((File Upload))
* {wish id=4587}
* ((Web desktop)) make file browsing look like a local disk
* Merge ((image galleries)) into file galleries, and have a migration script, and way to avoid broken URLs
* COE File Gallery UI revamp
** Tidy up the buttons at the top (too many)
** Client-side toggle of extra info & edit icon
** Re-do gallery properties so they're like trackers
* Use [Zend Framework] for all the interesting things (ex: indexing files on shared hosting, php-reader, Zend_File_Transfer, etc.
* ((srcset attribute))
* Sync like we do for trackers would be nice
** https://www.ohloh.net/p/remoteStoragejs 
** http://owncloud.org/sync-clients/
* http://openupload.sourceforge.net/
* http://fineuploader.com/
* [http://t-o-c-c.com/|Tocc is a tag-based file management system. It also includes a tag-based file system called Toccfs. The goal of Tocc is to provide a better system for classifying files, more flexible than classic file systems that are based on a tree of files and directories.]
 
[https://www.ohloh.net/p/MaarchFramework]

[https://www.ohloh.net/p/jackalope-phpcr] 
http://phpcr.github.io/

Flysystem, with adapters for Local, AWS S3, Rackspace, Dropbox, Ftp, Sftp, Zip, WebDAV

{HTML()}<script type="text/javascript" src="https://www.openhub.net/p/718767/widgets/project_factoids_stats.js"></script>{HTML}
* http://flysystem.thephpleague.com/
* https://github.com/thephpleague/flysystem#adapters 
* https://github.com/barryvdh/elfinder-flysystem-driver
** https://github.com/Studio-42/elFinder/issues/878#issuecomment-64598856
** https://github.com/Studio-42/elFinder/pull/928

{HTML()}<script type="text/javascript" src="https://www.openhub.net/p/718769/widgets/project_factoids_stats.js"></script>{HTML}

 
!! Revamp around elFinder and SabreDAV
* [http://elfinder.org/]  or https://github.com/reliv/zf2-elfinder 
** ((File Gallery - Direct Mapping)):  Permit to manage files which are related, like a generated job of HTML and images
** ((Help|#File_and_Image_helper|File and Image helper)) (crop/resize, etc.)
** Make it more like a browser/picker
*** Maybe a theme and previews of images?
* ((SabreDAV)) for ((WebDAV))

Already somewhere in Tiki
* Nice jQuery Slideshow
* ((Draw))  SVG-edit
* ((WebODF))
* CodeMirror
* Use ((doc:PluginMediaPlayer)) to play file types
* ((Screencast)) & screenshot capture
* Search within
* Generate a ((PDF))

Later
* pixastic photo editing (crop, rotate, resize, etc.)
* Preview text of a binary file (when Tiki can index)
* Convert to a native Tiki format


!! Transition strategy
!!! Option 1 - Revolution and migration
Soft, optional transition until 12LTS, and then all out for 13
* Build it on the side and then, offer a migration path from
** File Gallery
** Image Gallery
** Wiki Attachments
** Tracker Attachments
** User Files

How to respect the URLs?

!!! Option 2 - Evolve and cleanup
A bit like trackers, replace File Galleries by new code, and then, improve from better base

!! Abstract File Storage
Where file are stored should be abstracted so that we can plug and play with any potential Tiki User even if they already have a file storage system

Tiki should be able to interact with files from anywhere
* Files stored on same server as Tiki
* Files stored on separate server managed by user
* Shared Network Drive (SAMBA)
* Microsoft SharePoint
* [http://www.clearcenter.com/support/documentation/user_guide/flexshare|ClearOS Flexshare]
* OwnCloud (http://owncloud.org/)
* Amazon Cloud Storage (http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000796931)
* Google Drive (drive.google.com)
* Dropbox, Box.net etc... etc...

!! Smart Data Services
The idea behind Smart Data Services is to make sure that once we plug into any storage system, that our File Gallery features continue to be operational. 

This means that regardless of where files are stored, Tiki features that we have or that we want to create should not depend on the location of the files
* Ability to index the data
* Ability to use the indexed data to:
** Display in a List
** Search
** NLP (https://tiki.org/TikiFest+NLP+12)
** Tracker File Field (https://doc.tiki.org/Files+Tracker+Field?structure=Documentation+TOC)
* File Versioning
* File Locking
* File Permissions

!! Association between many files
* Responsive images: http://www.html5rocks.com/en/tutorials/responsive/picture-element/
* Similarly, MPEG-DASH has a manifest which links to an array of files, for various quality and timing

!! Team
* Jonny
* marclaporte
* Victor
* YOU?

! Related links
* http://suite.tiki.org/Tiki+Suite+Brainstorming#Backup-FileSync
* http://www.linshare.org/download/Linagora_PRE_LinShare_Offre-Partage-de-fichiers-securise_fr.pdf
* https://framework.zend.com/blog/2016-08-19-end-to-end-encryption.html
Show PHP error messages