Myra-pmrev1285 December 15, 2019

Web Portal to Access Server Files

Introduction

The Myra-pm software accesses your files and folders from the web, kind of like Dropbox or Box.

Photo galleries are dynamically created and cached as needed. Documents can be uploaded or downloaded either from the web or from the backend file shares. HTML documents can be created and edited from the web.

Examples

The following screenshots show portal web pages using the spring16 theme.

Example list view. Example thumbnail view. Example slide view. Example edit of web document.

License

This work is licensed under the GNU General Public License version 3.0 (GPL-3.0).

What's New

  • Drag-n-drop.
    • You can drag-n-drop a file into a folder on the web page to move it.
    • You can drag-n-drop a file from your computer onto a web page to upload it.
    • In Chrome, you can drag-n-drop a file from a web page onto your desktop folder.
  • A plugin system.
  • Centralized LDAP lookups for authentication and authorization.
  • HTML templates. Files can be edited from the web with previous versions archived. Files are rendered using the current theme with the standard header, footer, and menus.
  • The document editor has been upgraded to TinyMCE 5, a big improvement.
  • Shortcuts. Shortcuts are tiny HTML documents that redirects the browser to it's target page. You create them by dragging-n-dropping a web page url onto a web page.
  • Federated searches. A framework for searching for files, users or for group memberships was added.
  • Upgraded scripts to jQuery 3.5 and PHP 7.

Features

  • Folder contents can be displayed as a list.
  • Files can be dragged-n-dropped into folders to move them.
  • Folders can also be displayed as a picture gallery of thumbnails or slides.
  • Picture thumbnails are automatically created and cached in hidden folders.
  • Thumbnails can be rearranged on the page by dragging and dropping them in their new position.
  • Clicking on a thumbnail displays the picture as a slide.
  • Slides are also automatically created as needed and cached.
  • Slides can be rotated without changing the original picture.
  • An image magnifier can be shown over the slides.
  • Large pictures are handled so pictures from cameras can simply be copied to portal folders.
  • Original pictures are never altered but they can be deleted by editors.
  • Multiple files can be uploaded at once from the web.
  • Editors can restrict which kind of files can be uploaded to a folder.
  • Emailed notifications can be sent when someone does upload a file to a folder.
  • The portal can be set up as a read-only web site to be managed only by the sysadmin.
  • The portal can be set up to be managed through the web by editors who are members of the "editors" group.
  • The portal can be set up to use a central LDAP server to determine a user's read and write privileges.
  • Editors can be restricted to being only editors of specified subfolders.
  • Editors can annotate folders by adding headers and footers to the file list.
  • Editors can create new documents, and upload files, and remove documents.
  • Deleted documents and files altered from the web are archived so previous versions of a file could be retrieved if needed.
  • Shortcuts to other files and folders can be made.
  • Web documents are edited "in place" over the web by editors.
  • New web documents are created from site-specific templates.
  • The appearance of web documents and folders is determined by themes.
  • Themes define both CSS styles and optional JavaScript programs.
  • Themes can be chosen by the web user if allowed.

Overview

There are four primary pieces to the Myra portal software.

myra
The myra directory holds the web site programs. This is the main directory of the web programs.
myra-local
The myra-local directory holds the local site's web programs and files. These are mostly templates and images that will not be touched when Myra-pm is updated.
myra-support
This directory contains the support scripts for the web site programs in the myra directory. This directory needs to be located outside of the web directory. Some of the scripts interface to the Linix sudo facility.
apache
The apache web server is listed here because there are settings that need to be installed. Its mod_autoindex facility is used to automatically list folder contents on the site so it's best to set up the site's security there.

Credits

Myra is a PHP application running on an Apache server with the mod_autoindex module, a standard module bundled with Apache. The added functionality to mod_autoindex is provided by JavaScript and AJAX programs using the jQuery library.

File, folder and command button icons are from Silk Icons, http://famfamfam.com/lab/icons/silk/.

Slides shows and dialog boxes are presented using Fancybox by Janis Skarnelis, http://fancybox.net/.

The functions used to reorder slides by dragging and dropping them on the page came from DragSort, http://dragsort.codeplex.com/.

Image slide and thumbnail sizing and rotation is provided by the ImageMagick library, http://imagemagick.org/.

Document previews and conversions are provided by the LibreOffice document converter unoconv.

In-page editing and fancy text editing is provided by TinyMCE by Moxiecode Systems AB. at http://tinymce.com/.

Form input fields are filtered using jquery.filter_input.js by Rudolf Naprstek at http://www.thimbleopensource.com/tutorials-snippets/jquery-plugin-filter-text-input/.

File uploads were derived from the Easy PHP Upload by Olaf Lederer at http://www.finalwebsites.com/snippets.php?id=7

In-place text field editing is provided by jquery.jeditable.js by Mika Tuupola and Dylan Verheul at http://www.appelsiini.net/projects/jeditable/.

Javascript cookie handling uses the jQuery Cookie plugin jquery.cookie.js by Klaus Hartl.de).