Poterie Navarraise Pottery Market Manager Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
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.
Version 0.19.4 is available on GitHub and is still undergoing WordPress.org review. Updating from 0.19.1, 0.19.2 or 0.19.3 preserves existing editions, applications, team assignments and ratings. 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. 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.
External services
IGN / Géoplateforme: French address geocoding
Provider: Institut national de l’information géographique et forestière (IGN).
Purpose: convert a French address into coordinates for the public workshop map.
The WordPress server requests https://data.geopf.fr/geocodage/search over HTTPS with q (street, postal code and town), index=address and limit=2. The User-Agent includes the plugin name and site’s home URL. IGN also receives the server IP. The plugin does not attach email, telephone, photographs, documents, ratings or the applicant’s name as a separate field; address text is normalized before transmission without changing the application. Postal-code whitespace is removed; standalone st/ST becomes saint in streets and towns. Country aliases Pays Basque, Pays-Basque, Euskal Herri, Euskal-Herri and Euskal Herria are treated as France. If the street result is unsuitable, a second request uses q=town, type=municipality and postcode, with index=address and limit=2. A sufficiently matching, unambiguous municipality result is shown as an approximate town-centre position.
Scheduled WordPress tasks make requests only after a site administrator explicitly enables IGN and only for selected applications with separate mapping consent and publication authorization in editions allowing public selection. Authorization is checked again when the task runs. Addresses must pass French format checks. Coordinates already recorded for the same address avoid another call. Responses may be cached locally for 180 days; accepted coordinates remain in application metadata until mapping consent is withdrawn or the application is deleted. Shared geocoding response caches expire separately.
- Documentation: https://ignf.github.io/cartes.gouv.fr-documentation/fr/guides-utilisateur/utiliser-les-services-de-la-geoplateforme/geocodage/
- Terms: https://cartes.gouv.fr/cgu/
- Personal data: https://cartes.gouv.fr/donnees-personnelles/
OpenStreetMap: map tiles
Provider: OpenStreetMap Foundation (OSMF).
Purpose: display the gallery map background using https://tile.openstreetmap.org/{z}/{x}/{y}.png tiles.
Only after a site administrator explicitly enables OpenStreetMap does the plugin render a map of eligible applicants who authorized address mapping. The visitor’s browser requests tiles directly when that map enters the visible area, or during initialization if IntersectionObserver is unavailable. Panning and zooming may trigger more requests. No separate visitor acceptance click is requested beforehand.
OSMF receives the visitor’s IP address, browser HTTP information, tile coordinates and zoom level. The code sets strict-origin-when-cross-origin referrer policy: the site’s origin may be transmitted on external HTTPS requests according to browser rules. Marker names and addresses are rendered locally and are not included as fields in tile requests, but those requests reveal the viewed geographical area.
The service is subject to its usage policy and has no availability guarantee. Preserve attribution and comply with provider terms.
- Service: https://www.openstreetmap.org/
- Tile usage policy: https://operations.osmfoundation.org/policies/tiles/
- Privacy: https://osmfoundation.org/wiki/Privacy_Policy
- Map data attribution and licensing: https://www.openstreetmap.org/copyright
Custom providers
Developers can override provider URLs through marcpo_address_geocoder_url and marcpo_map_tile_url. The information above describes default providers. Sites using replacements must document the actual services and update their privacy policy accordingly.
Email and external links
Emails use wp_mail() and the site’s configured transport. No particular third-party email provider is required. Submission confirmations include answers and filenames without attachments. Recipients are the applicant and edition administrator; active jurors also receive them in multiple voting mode. Invitations contain login information and a password setup link for new accounts.
The form’s DATA INPI link and applicants’ website, Instagram and Facebook links open those sites when clicked. They do not trigger automatic imports or posts.
Source code and third-party libraries
Plugin source
The plugin’s PHP, JavaScript and CSS are distributed in readable form under GPL-2.0-or-later. No build step, Composer or npm is required to run it.
- Repository: https://github.com/PaulPoterie/MarchePotier
- License: https://www.gnu.org/licenses/gpl-2.0.html
Leaflet 1.9.4
Leaflet draws the map, markers and popups in the browser. Its JavaScript and CSS are bundled in assets/vendor/leaflet/ and served by the WordPress site. No Leaflet CDN is used.
Leaflet uses the BSD-2-Clause license. Its copyright notice and license text are preserved in assets/vendor/leaflet/LICENSE.
- Project: https://leafletjs.com/
- Matching source version: https://github.com/Leaflet/Leaflet/tree/v1.9.4
- Uncompressed JavaScript sources: https://github.com/Leaflet/Leaflet/tree/v1.9.4/src
- Distribution and CSS: https://github.com/Leaflet/Leaflet/tree/v1.9.4/dist
- License: https://github.com/Leaflet/Leaflet/blob/v1.9.4/LICENSE
- Contribution and build instructions: https://github.com/Leaflet/Leaflet/blob/v1.9.4/CONTRIBUTING.md
Leaflet is a local library, separate from the IGN and OpenStreetMap services above. Its license does not replace service terms or map data licensing.
Screenshots
No screenshots provided

