Poterie Navarraise Pottery Market Manager helps pottery market organizers collect applications, review candidates and present selected exhibitors. The French description is "Poterie Navarraise — Organisation de marchés potiers". The interface and outgoing messages are currently mostly in French.
Visit the
official plugin website for a presentation in French.
The plugin is available on
WordPress.org and GitHub. Updating from versions 0.19.1 through 0.19.4 preserves existing editions, applications, team assignments, ratings and uploaded files. Existing editions without a city remain usable; enter their market city when next saving their settings. When switching from the old 0.19.0 test package, deactivate it first and create fresh editions and team assignments: the marcpo_ identifiers introduced in 0.19.1 do not migrate those older test records. Read the document storage information below.
Features
- Multiple editions with application dates, venue, prices, PDF rules and stand settings.
- Application and selection gallery blocks linked to specific editions.
- Applications without WordPress accounts: contact details, presentation, activity and six uploads.
- Separate file transfers and temporary recovery of answers in the browser.
- Application search, filters and sorting by name, submission date or points.
- Direct selection or ratings from 0 to 5 by active jury members.
- Voting progress table, selection history and filtered CSV exports.
- Invitations and submission confirmations through WordPress email delivery.
- Public exhibitor photographs, techniques, links and optional mapping with separate site and applicant consent.
No ACF or form builder is required. Blocks use the WordPress editor. Scripts and styles, including Leaflet, are bundled. Mapping providers are documented under External services.
Team and permissions
The admin menu is called "Gestion Marché Potier". The home page offers shortcuts, a setup guide and a contact email link showing the installed version. In simple selection mode the voter section is hidden; existing assignments and ratings are kept for a later return to multiple voting. Selection history has compact identity columns and a search restricted to surname, first name and email.
Each edition requires an internal market city ("Ville") below its year. It is not shown in the public application form. Selection history can be filtered by this market city, together with the identity search; only accessible editions contribute to the city choices and results. Existing editions without a city remain usable and can be found under "Ville non renseignée". Complete their city when next editing them. The applicant's city and the public venue description remain separate.
The administrator's "Enregistrer l’édition et envoyer l’invitation" button saves the edition and sends the invitation after validation. Complete the required fields first. A new edition remains a draft until published. New accounts are also invited automatically when first saved. Existing accounts keep their passwords; ordinary saves do not resend their invitations.
Each edition has one administrator identified by name and email. The "[Poterie Navarraise] Administrateur marché" role can manage editions, applications, pages and posts across the site, including other accounts' content. It cannot access technical settings, plugins or native user management.
The "[Poterie Navarraise] Votant sélection" role can review applications in assigned editions. In multiple voting mode, active jurors can see jury ratings and update their own rating at any time. Application closing dates do not close voting. Point totals never select a candidate automatically.
Replacing an edition administrator does not revoke their site-wide WordPress permissions. A site administrator must remove those permissions when necessary.
Public selection
The gallery requires a published edition, its "Autoriser l'affichage public de la sélection" setting, a selected application and the applicant's publication authorization. Public selection is disabled by default.
The gallery displays names, town, postal code, techniques, website links and product photographs. The map exposes geocoded addresses. Email, telephone, supporting documents and stand photographs are not displayed in the gallery.
The application form requires authorization for public presentation if selected. A separate, optional checkbox authorizes sending the address to IGN and displaying it on the public map. It is unchecked by default. Refusing mapping does not prevent applying or appearing in the gallery. Telephone collection is unchanged; telephone numbers and email addresses are not sent to mapping providers.
Mapping also requires explicit site-administrator authorization under Gestion Marché Potier > Services externes. IGN geocoding and OpenStreetMap tiles have separate switches, both off by default. Enabling the plugin, publishing the selection or accepting photo publication does not enable either service or imply the applicant's mapping consent. Existing applications without the new mapping agreement are not mapped. Visitors do not have a separate map consent button.
Data and privacy
Contact details, answers, decisions, authorizations, team assignments, ratings and email status are stored in the WordPress database. Mapping authorization is recorded separately with the date of agreement. Applicants can contact the organizer to withdraw it; the organizer can uncheck the mapping agreement in the application. This removes its saved map position and cancels its queued geocoding task. Previously transmitted requests cannot be recalled from the provider. Organizers and jurors use WordPress accounts; applicants do not receive accounts.
Photos and supporting documents are WordPress Media Library attachments with ordinary public file URLs. Files follow the configured WordPress uploads directory. JPEG copies at 1080 by 1350 pixels are generated locally after an application is saved and are also available in the Media Library. WordPress selects the available image editor (Imagick or GD). Copies preserve the whole photo, centred on white, without enlarging small photos or replacing the source. If an editor is unavailable or processing fails, the application and its source file remain saved; only the optional copy is marked as failed. Nothing is posted automatically to Instagram or Facebook.
Supporting documents have no special access protection. Their URLs can be opened without signing in. This does not display them in the selection gallery: that gallery only shows the selected product photographs and public presentation. Access to application management and CSV export still requires the appropriate WordPress permissions.
The technical marcpo_form_session cookie links browser sessions to transfers and is renewed for 24 hours. Answers and choices may be saved in browser localStorage under marcpo-candidate-draft: followed by the edition ID, with a maximum logical lifetime of 24 hours. Expired drafts are removed when the code next runs; a closed browser may retain them physically until another visit or manual deletion.
Temporary uploads expire after 24 hours. Physical cleanup depends on subsequent reads and an hourly WordPress task; delayed WP-Cron execution can prolong storage. On confirmation, the existing attachments are assigned to the application without copying them; only the draft metadata is removed. Cleanup only deletes explicitly marked provisional media with no application reference. Ordinary unattached media are never collected.
Rate limiting stores counters associated with an HMAC of the IP address, with a fifteen-minute expiry renewed on counted attempts. Missing or invalid IP addresses share a fallback bucket. These counters do not contain raw IP addresses; hosting or provider logs may independently retain them.
Confirmed applications, identity records and votes have no automatic retention period. Replacing a file or permanently deleting an application preserves its confirmed media for reuse. Delete unwanted confirmed media explicitly from the Media Library. Deleting an application removes its votes but does not erase every record associated with the person. This version does not integrate WordPress personal data export or erasure tools and does not purge data on uninstall.
Organizers must define retention periods and update their site's privacy policy for their practices, backups and providers. The form links to that policy when configured in WordPress.
- Use WordPress 6.6 or later and PHP 8.2 or later, Fileinfo and a WordPress image editor (Imagick or GD) supporting JPEG, PNG and WebP for social copies. Use MySQL/MariaDB, or SQLite through the official WordPress SQLite Database Integration plugin.
- On staging, upload the ZIP containing the poterie-navarraise-market-manager folder through Plugins > Add New > Upload Plugin, then activate it.
- Sign in as a WordPress administrator and open Gestion Marché Potier. Review the documented public file storage behavior and verify email delivery before collecting real applications.
- Create an edition, complete its settings and required administrator, then publish it.
- Add the "Formulaire de candidature" block to a page and choose the edition. Use one form per page.
- Exclude the application page from page/CDN caching, ensure WP-Cron works and test a complete application.
- Add the "Présentation de la sélection" block, choose the edition and enable public selection when ready.
- To offer a map, a WordPress site administrator must read and enable the desired providers under Gestion Marché Potier > Services externes. Applicants must separately opt in to address mapping. Purge page/CDN caches after changing provider settings or withdrawing mapping consent so cached pages reflect the change.
When switching from the former marche-potier package, deactivate the old plugin before activating this renamed package. WordPress may list them separately; do not activate both together.
Documented local tests use WordPress 7.1 and PHP 8.3. Declared minimum versions do not represent a fully tested compatibility matrix.