WP Manifestindependent plugin directory
manifest / content / fossnovena-register

Fossnovena Perpetual Register Manager

A comprehensive WordPress plugin for managing and displaying the Perpetual Register with CSV import functionality.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/kajianil/fossnovena-register/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A comprehensive WordPress plugin for managing and displaying the Perpetual Register with CSV import functionality.

Features

  • CSV Import: Upload CSV files with drag-and-drop support
  • Three Operation Modes:
    • Replace All: Delete existing records and import new data
    • Append New: Add only new records (skip existing IDs)
    • Update & Append: Update existing records and add new ones
  • Data Validation: Automatic CSV validation and error checking
  • Preview & Analysis: Review data before importing
  • Backup System: Automatic backups before each import
  • Restore Functionality: Restore from previous backups
  • Frontend Display: Clean, responsive display with shortcode
  • Search Functionality: Search by name or date
  • Alphabetical Sections: Optional A-Z section headers
  • Upload History: Track all import operations
  • Responsive Design: Works on all devices

Installation

  1. Upload the fossnovena-register-plugin folder to /wp-content/plugins/
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Navigate to 'Perpetual Register' in the admin menu

CSV Format

Your CSV file should have the following structure:

id,entry,lifeStats,sort
34500,MOREIRA Wilfredo,(d.9/08/2022),MOREIRA Wilfredo
2938,MORLEY Luke Michael,(8/09/1917 - 8/02/1975),MORLEY Luke Michael
25525,MORRIS Jane,,MORRIS Jane

Column Descriptions:

  • id: Unique identifier for each record (required)
  • entry: Full name as it should appear (required)
  • lifeStats: Birth/death dates or other life information (optional)
  • sort: Name used for alphabetical sorting (required, defaults to entry if empty)

Usage

Admin Interface

  1. Upload CSV:

    • Navigate to 'Perpetual Register' → 'Upload CSV'
    • Click or drag-and-drop your CSV file
    • Select operation type
    • Click 'Analyze & Preview'
    • Review the analysis and preview
    • Click 'Confirm & Import'
  2. View History:

    • Navigate to 'Upload History'
    • View all past imports
    • Restore from any previous backup
  3. Settings:

    • Configure display options
    • Set items per page
    • Enable/disable alphabetical sections

Frontend Display

Add the following shortcode to any page or post:

[perpetual_register]

Shortcode Parameters:

  • search="true" - Enable search functionality
  • sections="false" - Hide alphabetical section headers
  • per_page="100" - Custom number of items per page

Examples:

[perpetual_register search="true"]
[perpetual_register sections="false" per_page="50"]
[perpetual_register search="true" sections="true"]

Operation Types Explained

Replace All

  • Deletes ALL existing records in the database
  • Imports ALL records from the CSV
  • Use when: You have a complete, updated dataset

Append New

  • Keeps all existing records
  • Adds only records with NEW IDs (not in database)
  • Skips records with IDs that already exist
  • Use when: Adding new entries to existing register

Update & Append

  • Updates records with existing IDs
  • Adds records with new IDs
  • Best of both worlds
  • Use when: You have both updates and new entries

Technical Details

Database Tables

fossnovena_register:

  • Stores all register entries
  • Indexed on sort_name for fast alphabetical sorting
  • Unique constraint on external_id

fossnovena_register_history:

  • Stores upload history and backups
  • Contains full JSON backup of data before each operation

Security Features

  • Nonce verification on all AJAX requests
  • Capability checks (only administrators can upload)
  • File type validation (CSV only)
  • Data sanitization on all inputs
  • SQL injection prevention with prepared statements

Performance

  • Database indexes for fast queries
  • Optional pagination for large datasets
  • Efficient alphabetical grouping
  • Minimal AJAX requests

Requirements

  • WordPress 5.8 or higher
  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Minimum 64MB PHP memory limit

Changelog

Version 1.0.0

  • Initial release
  • CSV import with three operation modes
  • Frontend display with shortcode
  • Search functionality
  • Backup and restore system
  • Upload history tracking
  • Responsive design