CollectiveAccess is a web-based suite of applications providing a framework for management, description, and discovery of complex digital

Last update: Mar 31, 2022

README: Pawtucket2 version 1.7.14

About CollectiveAccess

CollectiveAccess is a web-based suite of applications providing a framework for management, description, and discovery of complex digital and physical collections in museum, archival, and research contexts. It is comprised of two applications. Providence is the “back-end” cataloging component of CollectiveAccess. It is highly configurable and supports a variety of metadata standards, data types, and media formats. (You can learn more about it at https://github.com/collectiveaccess/providence). Pawtucket2 is CollectiveAccess' general purpose public-access publishing tool. It provides an easy way to create web sites around data managed with Providence. You must have a working Providence installation to use Pawtucket2.

About Pawtucket2

Pawtucket2 provides many features for finding, presenting and interacting with collections information, including:

  • Full text search
  • Configurable faceted browse
  • Ability to browse within search results
  • Configurable detail displays for collection objects and all authorities- you can show as much or as little information from your Providence back-end catalogue as you want
  • Support for "galleries" - simple online exhibitions using curator-defined sets.
  • Support for user-created tags, comments and lightboxes.
  • Not object-centric. While objects are usually the focus of a collections front-end, with Pawtucket2 they don't have to be. You can search and browse in any authority in addition to collection objects. This makes Pawtucket2 useful for specialized applications such as biographical catalogues (focussed on people rather than objects) and collection-level archival finding aids (focussed on collections rather than objects).

Pawtucket2 is meant to be customized. The download package includes a neutral default theme that supports all functionality. You can edit the CSS stylesheets and view templates to make Pawtucket fit into most any design scheme.

All CollectiveAccess components are freely available under the open source GNU Public License version 3.

About CollectiveAccess 1.7.14

Version 1.7.14 is a maintenance release with these bug fixes and minor improvements:

  • Fixes issued with CSRF checks

Note that this version supports 7.3 and 7.4. It is not yet compatible with PHP 8.

Updating from a previous version

NOTE: The update process is relatively safe and rarely, if ever, causes data loss. That said BACKUP YOUR EXISTING DATABASE AND CONFIGURATION prior to updating. You almost certainly will not need it, but if you do you'll be glad it's there.

Updating from version 1.7 or later

Before attempting to upgrade your Pawtucket2 installation to version 1.7.14 make sure your Providence installation has been updated to 1.7.14. While it is often possible to run an older version of Pawtucket2 with a newer version of Providence, it is not guaranteed. It is usually not possible to run an older version of Providence with a newer version of Pawtucket2.

To update from a version 1.7.x installation decompress the CollectiveAccess Pawtucket 1.7.14 tar.gz or zip file, and replace the files in your existing installation with those in the update. Take care to preserve your media directory, custom theme (in themes/your_theme_name_here) and your setup.php file.

Once the updated files are in place navigate in your web browser to the home page of your Pawtucket2 installation. If you see the home page you're done. If you see this message:

"Your database is out-of-date. Please install all schema migrations starting with migration #xxx."

you have not updated your Providence installation to version 1.7.14.

Updating from version 1.6 or earlier

To update from a version 1.6.x or older installation decompress the CollectiveAccess Providence 1.7.14 tar.gz or zip file, and replace the files in your existing installation with those in the update. Take care to preserve your media directory and custom theme (in themes/your_theme_name_here).

Next rename your existing setup.php to something else (Eg. setup.php-old). Then copy the version 1.7.14 template in setup.php-dist to setup.php. Edit this file with your database login information, system name and other basic settings. You can reuse the settings in your old setup.php file as-is. Only the format of the setup.php file has changed.

Once the updated files are in place navigate in your web browser to the home page of your Pawtucket2 installation. If you see the home page you're done. If you see this message:

"Your database is out-of-date. Please install all schema migrations starting with migration #xxx. Click here to automatically apply the required updates, or see the update HOW-TO for instructions on applying database updates manually."

you have not updated your Providence installation to version 1.7.14.

Version 1.7 introduced zoomable media versions for multipage documents such as PDFs, Microsoft Word or Powerpoint. Systems migrated from pre-1.7 versions of CollectiveAccess will not have these media versions available causing the built-in document viewer to fail. If your system includes multipage documents you should regenerate the media in Providence using the command-line caUtils utility in support/bin. See the Providence README for details.

The latest development version is always available in the develop branch (https://github.com/collectiveaccess/pawtucket2/tree/develop). Other feature-specific development versions are in branches prefixed with dev/. To install a development branch follow these steps:

  1. clone this repository into the location where you wish it to run using git clone https://github.com/collectiveaccess/pawtucket2.
  2. by default, the newly cloned repository will use the main branch, which contains code for the current release. Choose the develop branch by running from within the cloned repository git checkout develop.
  3. install the PHP package manager Composer if you do not already have it installed on your server.
  4. run composer from the root of the cloned repository with composer.phar install. This will download and install all required 3rd party software libraries.
  5. follow the release version installation

Useful Links

To report issues please use GitHub Issues.

Other modules

Providence: https://github.com/collectiveaccess/providence (Back-end cataloguing application)

GitHub

https://github.com/collectiveaccess/pawtucket2
Comments
  • 1. Filename Corruption Upon Download

    Steps to reproduce bug:

    • Upload a media file containing an ampersand (&) in the name.
    • First tested with the BinaryFile plugin. For example, John & Jane.pspimage
    • Additional testing showed same result with JPG files when downloading through Pawtucket.

    Expected result:

    • Name should appear correctly in the media section.
    • Upon clicking the Download link in Pawtucket, the original filename or a reasonable substitute should be provided.

    Actual result:

    • Name is correct in media section.
    • Upon download, the provided filename is corrupted like John_&amp with incomplete name and no extension.

    Workaround:

    It would be necessary to change the filename prior to upload. I had attempted to add the Original filename field to the Object representation editor; it displays the name but will not save any changes.

    Reviewed by miqrogroove at 2022-05-17 14:28
  • 2. Entities without IDs do not reolve when use_identifiers_in_urls = 1

    We've copied things to a new server, updated from 1.7.9 to 1.7.13 (db schema 158), and created a new theme.

    When use_identifiers_in_urls was set to 0 in the new theme, the URLs resolved correctly. When we changed the value to 1, entities without IDs no longer resolve and the URL encoding seems to not work. We did not have this issue in our past installation. I'm trying to track down where this is happening. Here are examples from the 2 servers old and new. Old install: https://digitalarchives.library.newschool.edu/index.php/Detail/people/id%3A4079 New Install: https://dev-digital.archives.newschool.edu/index.php/Detail/entities/id%3A4079

    if you manually replace the '%3A' with the deencoded ':', the URL resolves correctly.

    Reviewed by dullj at 2021-10-12 15:53
  • 3. using providence develop branch database, pawtucket search gives ca_search_log foreign key constraint failure

    using providence develop branch database, searching for any term in pawtucket, or clicking a collection hierarchy link for an object results in:

    Cannot add or update a child row: a foreign key constraint fails (`providencedev`.`ca_search_log`, CONSTRAINT `fk_ca_search_log_user_id` FOREIGN KEY (`user_id`) REFERENCES `ca_users` (`user_id`)) in /usr/share/nginx/html/pawtucket/app/lib/Db/mysqli.php line 316:
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    In Db_mysqli->execute() in DbStatement line 151
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At DbStatement->executeWithParamsAsArray() in Db line 261
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At Db->query() in Searchlog line 58
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At Searchlog->log() in SearchEngine line 373
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At SearchEngine->doSearch() in CollectionSearch line 50
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At CollectionSearch->search() in searchHelpers line 449
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At caPuppySearch() in BaseMultiSearchController line 104
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At BaseMultiSearchController->Index() in MultiSearchController line 59
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At MultiSearchController->Index() in RequestDispatcher line 273
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At RequestDispatcher->dispatch() in AppController line 113
    
    Warning: join(): Invalid arguments passed in /usr/share/nginx/html/pawtucket/themes/default/views/system/fatal_error_html.php on line 52
    At AppController->dispatch() in index line 124
    
    Reviewed by 0nobody0 at 2021-10-06 07:10
  • 4. Fix disabled view buttons in browse section

    image

    MiradorJS causes the disabled grid, list, map, timeline buttons in the browse view to be non-clickable. From assets/mirador/css/mirador-combined.css:3215

    .disabled {
      opacity: 0.5;
      pointer-events: none;
    }
    

    This is because of the pointer-events: none; setting.

    I made a dirty fix for this in the default theme. Feedback welcome.

    Reviewed by raeffu at 2018-10-18 09:17
  • 5. enable generic arabic locale to load

    generic arabic language locale wont load without a time file to associated with it. this can either be handled this way by doing a copy of the morocco time parser or by looking for just the first two letters of the language code in the time parser name. dealers choice

    Reviewed by timatron at 2021-02-18 23:29
  • 6. Wikipedia InformationService not retrieving information

    Hello,

    I recently discovered that the InformationService for Wikipedia is not able to retrieve the information in our project. After some investigation I found that the Wikipedia API is responding with the following error:

    {"error":{"code":"badinteger","info":"Invalid value \"200px\" for integer parameter \"pithumbsize\".","*":"See https://de.wikipedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."},"servedby":"mw1277"}

    I reckon this problem arises due to a change in the API. I tackled the problem by removing the 'px' in the InformationService for Wikipedia: https://github.com/collectiveaccess/pawtucket2/blob/a051f2fe919ca4657340c2ba8d7dcbbfda933a15/app/lib/Plugins/InformationService/Wikipedia.php#L157

    Can you confirm that this change is correct and maybe implement it?

    Best regards and stay healthy!

    Reviewed by flumpt at 2020-03-27 10:52
  • 7. Reference to manuscriptcookbook inside Maps plugin

    Hello,

    At this line : https://github.com/collectiveaccess/pawtucket2/blob/78650105656a6f5709b5bdeb1d72f8ebf586d8b4/app/lib/core/Plugins/GeographicMap/GoogleMaps.php#L297 and 3/4 lines after that is a reference to : http://manuscriptcookbook.whirl-i-gig.com/pawtucket/assets/ca/js/mcs_marker.png

    The image is not there on this server, but it is there inside pawtucket/assets/ca/js/mcs_marker.png

    Reviewed by gautiermichelin at 2017-11-24 19:04
  • 8. Support for HTTP Header Authentication

    We implemented these changes at our organization to allow for HTTP Header authentication (used with our SSO implementation). Not sure if this is something that would help others or not but thought I would share anyway.

    Reviewed by jrow2286 at 2019-04-19 20:33
  • 9. Support for HTTP Headers Authentication

    We implemented these changes at our organization to allow for HTTP Header authentication (used with our SSO implementation). Not sure if this is something that would help others or not but thought I would share anyway. Pretty new to Git so let me know if I'm going about this the wrong way.

    Reviewed by jrow2286 at 2019-04-16 19:05
  • 10. strict phrase searching, field limit query adjustment

    When ‘strictPhraseSearching’ is set, construction of query for ‘Zend_Search_Lucene_Search_Query_Phrase’ is not always being constructed correctly. Field limit part($vs_fld_limit_sql) of the query should only be taken into account when field_num and table_num are provided. Which is not always the case. When not provided, mysql query fails.

    A check is needed on these values to avoid the failure. Fix in this pull request solves the problem.

    Reviewed by naeemmuhammad at 2017-03-27 13:20
  • 11. Don't allow read access to "public" sets

    PR changes lightbox behavior to not allow read access to "public" sets. This is a holdover from olden tymes and has the effect in current versions of Pawtucket that any front-end created set is readable by any user. This was intentional once upon a time but is definitely counter intuitive and undesirable in the current UI. Lightboxes are now only readable to users and groups explicitly granted access, no matter the public/private "access" field for the set.

    Reviewed by SethKaufman at 2021-10-27 03:25
  • 12. Password Handling Failure

    I just got my Pawtucket site set up and connected to Providence for the first time.

    While surfing the Pawtucket features, I logged in using the default credentials admin:h3r1tag3

    I then went to the profile page and attempted to reset my password. I used a random password generator and pasted this new password into both fields, exactly:

    R=ZL["e\v^ys";5K

    I am now unable to login using either password and effectively locked out of both websites. This seems to represent a major bug in the Collective Access password I/O. At this time I do not have any reason to believe it represents a security issue.

    Reviewed by miqrogroove at 2022-05-13 03:09
  • 13. Composer error when using PHP 7.3

    Pawtucket Master branch is presenting this error when installing from Master on MacOS Monterey using Homebrew: Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.4.0". You are running 7.3.33. in /path/to/pawtucket/vendor/composer/platform_check.php on line 24

    If I run composer install the issue resolves.

    The release notes say it should run in PHP 7.3

    Providence does not cause this error

    Reviewed by poplarmedia at 2022-02-13 19:52
  • 14. themeHelpers: SQL broken when browsing Object_lots

    Attempting to browse Ca_Object_lots will throw an error: "Object_lots: Not unique table/alias: 'ca_objects' in /...."

    Unless the SQL is modified (in themeHelpers.php) adding "as ca_objectsx":

    $vs_sql = "SELECT DISTINCT ca_object_representations.media, {$vs_table}.{$vs_pk} FROM {$vs_table} INNER JOIN {$vs_linking_table} ON {$vs_linking_table}.{$vs_pk} = {$vs_table}.{$vs_pk} INNER JOIN ca_objects as ca_objectsx ON ca_objects.object_id = {$vs_linking_table}.object_id INNER JOIN ca_objects_x_object_representations ON ca_objects_x_object_representations.object_id = ca_objects.object_id INNER JOIN ca_object_representations ON ca_object_representations.representation_id = ca_objects_x_object_representations.representation_id WHERE ca_objects_x_object_representations.is_primary = 1 {$vs_access_wheres} {$vs_rel_type_where} {$vs_type_where} {$vs_id_sql}";

    And changing $va_access_wheres to: $vs_access_wheres = " AND ca_objectsx.access IN (".join(",", $pa_access_values).") AND ca_object_representations.access IN (".join(",", $pa_access_values).")";

    Reviewed by bruceklotz at 2021-08-23 12:24
Infopanel is a simple tool getting some information from source. It works basically like a slider that shows only title, image, a little bit description and QR-Code for links.
Infopanel is a simple tool getting some information from source. It works basically like a slider that shows only title, image, a little bit description and QR-Code for links.

Infopanel is a simple tool getting some information from source. It works basically like a slider that shows only title, image, a little bit description and QR-Code for links. It has its own GUI for the editing. The GUI provides a very simple role concept. This tool can be used for digital signage, Information panels, News or Events or similar.

Mar 25, 2022
A simple PHP library for complex monetary prices management

PHP Prices ?? Version 2.x This new major version is shifting the package towards more flexibility and configuration possibilities in general. One of t

May 17, 2022
A micro web application providing a REST API on top of any relational database, using Silex and Doctrine DBAL

Microrest is a Silex provider to setting up a REST API on top of a relational database, based on a YAML (RAML) configuration file.

Nov 23, 2021
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

May 24, 2022
BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos

BicBucStriim streams books, digital books. It fills a gap in the functionality of current NAS devices that provide access to music, videos and photos -- but not books. BicBucStriim fills this gap and provides web-based access to your e-book collection.

May 12, 2022
Esta es la plicacion de digital-solutions backend de laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Dec 25, 2021
BraincraftedBootstrapBundle integrates Bootstrap into Symfony2 by providing templates, Twig extensions, services and commands.

BraincraftedBootstrapBundle BraincraftedBootstrapBundle helps you integrate Bootstrap in your Symfony2 project. BootstrapBundle also supports the offi

May 10, 2022
A learning management system (LMS) is a software application or web-based technology used to plan, implement and assess a specific learning process.

vidyaprabodhan-gov-php-project A learning management system (LMS) is a software application or web-based technology used to plan, implement and assess

Dec 23, 2021
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

May 22, 2022
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system
mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system

mini Project in Laravel and vue js. Real World Laravel 8x + vue js Dashboard.Task management and project management system. Dashboard features such as: Complete Dashboard, Custom Authentication, Email Verification, custom-login-register-forgot password (without jetstream).

Nov 27, 2021
TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application
TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application

TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.

May 22, 2022
DBase - An easy-to-use backend for mobile and web applications
DBase - An easy-to-use backend for mobile and web applications

DBase DBase is an easy-to-use backend for your mobile and web applications, host the files in an Ubuntu server and use the SDKs to perform CRUD operat

May 25, 2022
Demo of using geo data in PHP web applications

phpgeo-demo Demo of using geo data in PHP web applications Goals Demonstrate basic data storage and retrieval methods using Geo specific data Orient t

Jul 10, 2016
Phalcon - Développez des applications web complexes et performantes en PHP

Phalcon - Développez des applications web complexes et performantes en PHP Ce projet GitHub contient les sources du livre : Phalcon 3 - Développez des

Aug 2, 2020
A framework for building rich, data-driven applications in PHP and MySQL

Xataface A framework for building rich, data-driven applications in PHP and MySQL License GPL Requirements PHP 5.2 or higher MySQL 5 or higher Install

Apr 25, 2022
Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework.

Open Source Point of Sale is a web based point of sale application written in PHP using CodeIgniter framework. It uses MySQL as the data back end and has a Bootstrap 3 based user interface.

May 19, 2022
Ressource Management and Manufacturing execution system Web for industry (sheet metal, machining, mold ...)
Ressource Management and Manufacturing execution system Web for industry (sheet metal, machining, mold ...)

WEB ERP MES Ressource and Manufacturing execution system Web WEM is a business management web application using Laravel 8 and bootstrap 4.6. Why WEM ?

May 19, 2022
MOFHY Lite is a free web hosting management system to manage MOFH hosting accounts and SSL certificates.

MOFHY Lite is a free of cost MOFH clientarea for account management and support services with free ssl service. It have easy to use feature

May 19, 2022
MOFHY Lite is a free web hosting management system to manage MOFH hosting accounts and SSL certificates.

MOFHY Lite MOFHY LITE is a priceless MyOwnFreeHost Client Area for account management, ticket support system and a free ssl service. It has easy to us

Dec 28, 2021