=== Sovelta Core ===
Contributors: formastudio
Tags: portfolio, projects, contact form, enquiries, architecture
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.10.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

An independent portfolio workspace with unlimited projects, private enquiries and safe draft starter content.

== Description ==

Sovelta Core gives a creative studio a focused WordPress workspace. Publish an unlimited portfolio, tell each project's story with native blocks and manage private project enquiries without changing how you own your content.

* Unlimited projects with categories, featured images, excerpts and project facts.
* A visual Edit website workspace with direct text/image selection, private drafts, separate page/design publishing, local undo/redo and reviewed revision recovery. Native WordPress block editing and export remain available.
* A native Sovelta Projects block with thumbnail selection, accessible reordering, live content, columns, categories, sorting and preserved curated IDs; the [forma_projects] shortcode remains available.
* A native Sovelta Enquiry block with a disabled editor preview; the basic [forma_enquiry] shortcode remains available.
* Live project-facts blocks and portable native-block collection pages.
* Shared public telephone, email, studio address and availability, with per-block visibility and one reviewed update across your pages. Values start empty, stay separate from private inbox settings and use no external service.
* Responsive spacing, crop/focal-point and mobile-order controls with explicit inheritance; actual-page style previews with the Sovelta theme.
* A first-choice setup screen for new and existing websites, with an optional Start here guide and saved progress.
* Site care with local hosting checks, a redacted diagnostic download and a separate owner-confirmed email delivery check.
* Read-only installed component versions, local hosting checks and direct links to native WordPress plugin/theme installation and updates.
* Optional Explore Pro and contextual links explain design, presentation and enquiry tools. No site data is sent by opening the comparison link.
* A guided launch review with actionable findings, published-content batches and version-bound owner checks for phone, keyboard and backup review.
* Complete basic enquiry CSV downloads for administrators and Enquiry Managers.
* Credited project share cards: local SVG download and optional browser PNG export, with editable titles and studio names.
* Private enquiries searchable by name, email and message, with sortable columns and New, Reviewed and Replied statuses.
* Configurable form labels, confirmation, message length, honeypot and connection rate limits.
* A dedicated Enquiry Manager role without general settings access.
* Email diagnostics and explicit notification resend, with truthful transport status.
* Reviewed settings JSON export/import with a previous-settings restore action.
* Reviewed complete starters: create drafts, or review new homepage/menu/design assignments while keeping existing content. Recovery preserves later edits.
* WordPress personal data export and erasure support, plus scheduled enquiry retention.
* Optional search and social metadata, switched off by default.

The plugin works independently of Sovelta and does not require a paid extension, account, license key or external service. Projects remain stored in WordPress if you change themes. Deactivating the plugin hides its content types until it is reactivated; it does not delete content.

= Public studio details and reusable sections =

Sovelta > Public studio details stores only the telephone, email address, address and availability you explicitly enter for visitors. Nothing is copied from your administrator email or enquiry recipient. Review all four fields and confirm before publishing; a newer save from another tab is protected. Blank fields stay hidden.

Insert the native Sovelta business details block, or the Shared studio contact details section, and select the fields each page should show. Updates to the shared profile appear in every instance. Pro headers and footers also support this block. Existing contact buttons and address text are not replaced automatically. This is local WordPress functionality with no external service or network request.

For complete reusable sections, use WordPress's native synced patterns in the page editor. Manage reusable patterns is linked from the website editor and Public studio details. Editing a synced pattern updates all its instances; ordinary patterns remain independent. Pro header/footer assignments reuse their entire composition; unrestricted nested synced-pattern references are not enabled there.

= Enquiry privacy =

The form stores the visitor's name, email address, message and consent time in a private WordPress record. Notification email is sent to the recipient chosen by the administrator using WordPress's configured email transport. The site owner is responsible for that provider, a suitable privacy policy and delivery testing.

Failed form values are available for correction for 10 minutes, including compatible extension fields. A random retry token in the return URL is bound to a separate essential, HttpOnly, SameSite browser cookie lasting 30 minutes. Reloading preserves the corrections; the URL alone cannot retrieve them from another browser. Personal form values are not placed in the URL. WordPress scheduled cleanup removes expired records; physical deletion depends on cron execution. Successful submission removes the associated retry record. An hourly anti-spam counter uses a keyed hash of the connection address, not a stored raw IP address. Hosting or email providers may keep separate logs.

By default, completed communication (Replied) becomes eligible for Trash after 90 days without recorded activity. New, Reviewed and held records remain protected. Compatible workflow extensions can protect active work; shared protection markers continue to work when an extension is inactive. Legacy extension stage records without a shared protection marker are retained conservatively. Each daily WordPress cron run scans up to 100 records with a rotating cursor, so protected older records do not block later eligible enquiries. WordPress then applies its configured Trash deletion schedule. Change the period in Sovelta; 0 disables automatic retention. Cron depends on the site's scheduling setup. Email copies and backups have their own retention. WordPress privacy export and erasure include enquiries in Trash.

Optional extensions may add fields; review their own privacy information. Sovelta Core itself does not send telemetry or contact a private update service.

= Reviewed starter websites =

With Sovelta active, Edit website > Setup includes one complete free Studio starter: five pages, three fictional projects and three bundled local cover images. Choose drafts or review activation of a new homepage, separate navigation menu, coordinated style and contact destination. Sovelta Pro adds ten coordinated starters through the same reviewed workflow. No existing page or menu is overwritten, and no remote image is downloaded.

Review binds the exact starter and current website settings. Changed settings require a fresh review; repeating an applied plan returns the same receipt. Recent setups & recovery keeps your last 20 setup receipts available. Undo restores matching assignments and moves only owned, unchanged content to Trash; edited or reused items stay in place. The imported image remains available so a trashed project can be restored. Later design or assignment changes block automatic undo for review.

An interrupted draft-only setup can resume from its receipt when its saved plan and owned content remain unchanged. Completed drafts and covers are reused. Review sample content lets you explicitly confirm that fictional copy and images have been replaced or authorized; confirmed work is preserved by starter recovery. Neither action publishes content.

= Site care and WordPress updates =

Site care shows installed SOVELTA versions and local hosting capabilities, including WordPress/PHP compatibility, image processing, ZIP support and upload limits. Downloadable diagnostics contain selected versions and capability flags, not content, email addresses, credentials, private links or server paths. Review the download before sharing it. Email transport acceptance and your confirmation that the test arrived are recorded separately; neither guarantees future delivery.

Site care lists installed component versions and links to WordPress Updates, Plugins and Themes. Back up your database and files before using WordPress to update a plugin/theme or upload an individual replacement ZIP. Core does not download, install or update executable packages from a third-party source, and Free features and native updates do not require Pro.

Earlier coordinated installation records and staged files are retained without running another step or deleting data. Site care shows a read-only reminder when such a plan remains. Review installed versions and your backup before continuing through WordPress. If you already use the separate Pro add-on, its Release kits screen can review retained coordinated plans. No installer code is bundled in this Core package.

= Basic starter drafts =

Create starter drafts only when you choose to. The importer adds nine clearly labelled local drafts: a homepage, contact page, four projects and three journal entries. It does not download images, publish content or modify the active homepage, menus, theme settings or branding. Running it again skips records already created, including drafts you have edited. Existing Trash records are not silently recreated. Replace the sample text and facts with your own work before publishing.

= Complete guided demo =

With Sovelta installed, Sovelta > Start here > Add an example website creates six pages, three projects, three journal posts and six locally bundled concept images as drafts. The home page includes a live portfolio block. This English-language demonstration uses fictional studio/project copy and original AI-generated images; review and replace it before launch.

The setup resumes safely after interruption and skips completed demo records. Review the drafts, then explicitly choose publishing, homepage assignment and/or a new navigation menu. Edited drafts are skipped by bulk publishing. Your branding, privacy-policy selection and search visibility are preserved. Undo moves only unchanged demo posts to Trash and restores matching homepage/menu assignments; edited posts, media and the created menu remain available. Missing theme assets produce a recoverable error, not a remote download.

= Social images =

Sovelta > Share cards uses a published project you can edit. Choose its featured image or a native content image, edit the title, subtitle, studio name and image credit, then download a self-contained 1200 x 630 SVG. JavaScript optionally previews and downloads a PNG in your browser; the SVG download works without JavaScript. No Sovelta branding is required.

Images must be local WordPress uploads used by that project: JPEG, PNG or WebP below 20 MB and 40 megapixels. A working WordPress image editor (GD or Imagick with the relevant format support) prepares a temporary raster copy and removes it after generation. No remote image, font or rendering service is contacted. Keep permission to publish the selected work and check the credit before sharing. Browser fonts can affect text appearance; review long text in the preview.

= Check before publishing and export enquiries =

Check before publishing reviews published pages, posts, projects and collections in batches of up to 200. It flags known sample markers, unchanged demo records, missing or locally unavailable project covers, empty links, classic menu targets, form placement and configuration. A next-step link leads to the relevant repair screen. Review every batch on larger sites. Private editor drafts and unsaved changes are excluded; use Check this page and the editor's publishing review for those.

Administrators may record their own phone, keyboard and backup checks separately for each content batch. These private observations belong to that administrator and site, expire after seven days and become stale when the reviewed content, relevant metadata, design or settings change. Saving observations does not publish content or certify launch readiness. Block navigation, external links, factual claims, image rights, inbox delivery and accessibility still need a real review. Opening the launch screen changes nothing.

The enquiry inbox offers a complete basic CSV, including message, contact details, consent time, communication status and notification transport status. All current private inbox records are streamed in batches without a 500-record ceiling; Trash is excluded. Values that could be spreadsheet formulas are prefixed with an apostrophe. Concurrent edits may change export membership, so this is not a transactional snapshot. Downloaded CSV files contain personal data and need their own private storage and retention.

= Optional metadata =

Basic metadata is off by default. Enable it only if another tool does not manage your search metadata. Sovelta checks for common SEO plugins, including Yoast SEO, Rank Math, All in One SEO, SEOPress and The SEO Framework. Other tools may require you to leave Sovelta metadata disabled manually. A local Media Library image can provide a social fallback when a page has no featured image. This site-specific attachment ID is deliberately excluded from settings transfer.

== Installation ==

1. Upload the sovelta-core folder to wp-content/plugins, or upload the installable sovelta-core ZIP through Plugins > Add New.
2. Activate Sovelta Core and open SOVELTA in the WordPress administration menu. Choose whether you are starting a new website or working with existing content.
3. Follow Start here to add a project using your own content, or explicitly create optional example drafts.
4. Add the Sovelta Projects and Sovelta Enquiry blocks. Existing [forma_projects] and [forma_enquiry] Shortcode blocks continue to work.
5. Choose your notification recipient, publish a privacy policy and submit a real test enquiry before launch.

To move from FORMA, back up and test on staging. Deactivate Forma Pro, then Forma Core without uninstalling either. Upload and activate Sovelta Core 1.10.2, install and activate the Sovelta 1.10.2 theme, then optionally activate Sovelta Pro 1.10.2. Keep the old files until your checks are complete. Activating Core before switching directly from Forma Studio to Sovelta preserves the previous theme appearance when no Sovelta appearance has been saved. Existing projects, enquiries, blocks, shortcodes, settings and drafts keep their original storage identifiers. Never activate both old and new editions together. Subsequent Sovelta updates replace the same component without uninstalling. Use individual plugin ZIPs in Plugins > Add New > Upload Plugin; install the theme separately in Appearance > Themes > Add New > Upload Theme.

The accompanying SOVELTA-QUICK-START.html is a separate offline guide supplied with the owner review materials. Open it in a browser for setup and launch steps; it is not installed as a WordPress menu or hosted connection.

== Frequently Asked Questions ==

= Is there a project limit? =

No. Sovelta Core includes unlimited projects and the full basic enquiry form.

= Do I need the Sovelta theme? =

No. The content types and shortcodes can be used with other compatible WordPress themes. Appearance depends on your theme and styles.

= Does starter setup overwrite my website? =

No. It only adds local drafts when you request it. Review them before choosing a homepage or publishing.

= Does a successful enquiry mean email arrived? =

No. The enquiry is stored privately first. The record shows whether WordPress's email transport accepted the notification; that is not proof of inbox delivery.

= Can I use another SEO plugin? =

Yes. Leave Sovelta's optional metadata disabled. Common SEO plugins are also detected automatically.

= Where is my data? =

In your WordPress database and your configured email system. No Sovelta account or hosted service is required. Export projects with WordPress Tools > Export and handle enquiry privacy requests using WordPress privacy tools.


= First website setup =

Sovelta > Start here saves progress locally. Save your studio name, select an existing project or explicitly create a draft, and test a published page containing the Sovelta Enquiry block. New pages and projects are never published automatically. The contact test uses the actual form, stores a labelled test enquiry and suppresses notification email. Move the test to Trash afterward. Email delivery remains a separate manual check. Saved identity, project content and form settings are rechecked when you return; these checks are not a launch-readiness certification. No account or external service is needed.

== Changelog ==

= 1.10.2 =
* Refine fresh sample pages and project stories, add direct project navigation and reversible footer-menu defaults. Existing sample content is preserved.
* Keep new starter Undo accurate when WordPress changes draft page links to published permalinks; retain genuinely edited menus and previous setup receipts.


= 1.10.1 =
* Give Content and Design distinct controls for the page and the selected section.
* Explain each control mode and preserve section selection and unsaved edits while switching.
* Explicit saving refreshes the private page preview after layout edits.

= 1.10.0 =
* Renamed the product to Sovelta Core with a canonical folder and translation domain.
* Preserved existing content identifiers and added guarded coexistence and theme appearance migration.


= 1.9.3 =
* Removes the custom component installer from Free. Site care shows installed versions and links to native WordPress installation and updates.
* Preserves older installation records without running them; coordinated private release kits belong to the separate Pro add-on.
* Adds explicit request-boundary capability and nonce checks to the native sample-review and public-details forms.

= 1.9.2 =
* Gives Start here one guided setup path with saved progress, quiet everyday links and retained mail warnings.
* Opens the actual homepage or your chosen starting page; fresh sites explicitly choose a starter, a blank draft or an existing page.
* Reviews homepage assignment separately after publishing, with stale-state, permission and retry protections.
* Adds searchable project selection and keyboard ordering inside the visual editor, with Cancel, private autosave and Undo.
* Keeps existing Free features, native tools, layout locks and draft protections.

= 1.9.1 =
* Explains Sovelta-only appearance and starter tools before use with another theme; keeps page/project editing and existing appearance drafts available safely.
* Limits the first-project picker to projects and links an unfinished homepage choice to native Reading settings.
* Restores Detailed setup media controls, step links and contact-test return destinations.
* Preserves multilingual contact form labels by truncating whole UTF-8 characters.
* Keeps shared setting defaults consistent across both settings forms and supplies the hidden page-export screen title.

= 1.9.0 =
* Keeps a complete Free portfolio, visual editor, enquiry inbox, launch review and native data exports.
* Shows the next setup step from reviewed saved work, with optional focused Pro information and an explicit external comparison link.
* Moves advanced selected-content/media transfer and Pro editor design controls into the separately installed Pro add-on. Private draft, conflict and recovery protections remain shared.
* Keeps Free editing available when Pro is deactivated: the Pro appearance draft stays unchanged, while basic appearance edits use a separate private draft. Both retain owner, expiry and conflict guards; Save status offers a recovery copy.

= 1.8.1 =
* Adds an actionable launch workspace with next-step links and navigation through published-content batches.
* Records owner-completed phone, keyboard and backup checks per administrator, site and batch, with seven-day expiry and protection against changed content, settings or concurrent saves.
* Clarifies published-only review scope, locally unavailable project covers and contact forms that may appear in a different batch.

= 1.8.0 =
* Adds a new/existing-site starting choice, local Site care checks, redacted diagnostics and separate email receipt confirmation.
* Adds reviewed local release-kit installation with component checks, ordered updates and interrupted-plan recovery, without a hosted Free updater.
* Adds bounded, self-contained native-content transfers with authorized images, project facts, draft-only design and explicit exclusion reports.
* Makes publication review easier to read and adds safe starter draft retries and explicit sample-content review while preserving edited work.

= 1.7.0 =
* Makes the expanded optional starter library easier to browse with sector categories and search. Free retains its Studio starter and existing design tools. Preview, reviewed draft import and explicit activation retain their existing safeguards.

= 1.6.0 =
* Adds a resumable saved-work setup guide, complete responsive starter previews and direct desktop/mobile image framing.
* Content findings open their exact controls; publication review lists concrete changes and offers comparison before applying the selected scopes.


= 1.5.1 =
* Clarifies live and private draft states, adds a labelled Controls/Preview switch, and gives mobile editing more space while preserving save and publish safeguards.

= 1.5.0 =
* Adds Edit website: live native-block editing, private page/design drafts, responsive controls, section previews, reviewed publishing, history and recovery.
* Adds guided projects and reviewed starter activation with recovery. Existing content and native WordPress editing remain available.

= 1.4.0 =
* Add a four-step first-website setup with explicit draft creation, locally saved progress and real contact-form testing without notification email.
* Recheck current identity, project and form state; preserve existing content and native publishing choices.


= 1.3.2 =
* One Start here hub, Website design and Enquiries navigation with clear settings and help.
* Task-based setup instructions, contextual project save/preview guidance and a separate enquiry export tab.


= 1.3.1 =
* Add a reusable Start here guide linking optional examples, identity, first projects, enquiry setup and launch review.
* Expose an extension hook before the enquiry fields.


= 1.3.0 =
* Visual project selection and accessible reordering without replacing existing portfolio data.
* Native enquiry and live project-facts blocks; portable collection content.
* Local launch review and complete formula-safe basic enquiry CSV.
* Credited local share cards with editable artwork and SVG/PNG downloads.

= 1.2.1 =
* Coordinated release with reliable administrator access to Guided setup and Studio controls, and a linked project hero for complete gallery navigation.


= 1.2.0 =
* Complete native-block demo setup with local images, explicit publication and recoverable undo.
* Live project block, curated listings and additional public project facts.
* Site-owned form settings, protected correction sessions and cleanup.
* Enquiry Manager role, notification diagnostics/resend and settings transfer.
* Active-work protection and a rotating retention scan; repeated extension metadata survives inactive privacy export.

= 1.1.0 =
* A focused studio dashboard, unlimited project editing and a private enquiry inbox.
* Accessible form validation and short-lived retries without personal data in URLs.
* Bounded, idempotent local draft imports with missing-file recovery.
* Privacy export, erasure and configurable retention.
* Metadata defaults to off; private updater removed.

= 1.0.0 =
* Initial development version.

== Upgrade Notice ==

= 1.10.2 =
Improved theme presentation and fresh sample defaults. Existing content and design settings are retained.

= 1.10.1 =
Update Core, the theme and optional Pro together. Content and Design now show distinct page controls before you select a section. Existing content and settings are preserved.

= 1.9.3 =
Replace Core through the native WordPress plugin upload/update screen without uninstalling. Existing content, settings and private drafts remain. Optional coordinated private release kits now belong to Pro; retained installation records are not executed by Free.

= 1.9.0 =
Back up and install matching Core, Studio and optional Pro 1.9.0. Advanced content/media bundles are now supplied by Pro; Free retains native WordPress, page XML and appearance exports. Existing content, settings and private drafts are retained.

= 1.8.1 =
Back up and test on staging. Use Core and optional Pro 1.8.1 with Sovelta 1.7.0. Launch review scans published content in batches; saved owner observations need renewal after relevant changes or seven days. Nothing is published automatically.

= 1.8.0 =
Back up and test on staging. Update Core to 1.8.0, retain Sovelta 1.7.0 and update optional Pro to 1.8.0. New care, transfer and release-kit tools require explicit review; existing content and private drafts are retained.

= 1.7.0 =
Back up and test on staging. Update Core first, then the matching theme and optional Pro. Expanded starters are optional; importing drafts does not replace your current website. Review activation separately.

= 1.6.0 =
Back up and test on staging. For existing installations, update Core first, then the matched theme, then optional Pro. Existing content and private snapshots are retained.


= 1.5.1 =
Clearer live/private/unsaved status and labelled mobile controls. Install the matching theme and optional Pro packages after backing up and testing on staging.

= 1.5.0 =
Back up and test the coordinated Core, Studio and optional Pro update on staging. The visual workspace retains native content; older design tools and existing pages remain available.

= 1.4.0 =
Back up and update the coordinated theme, Core and optional Pro packages. Existing content and settings remain. Start here offers the new optional four-step setup without importing or publishing content automatically.

= 1.3.2 =
Clearer navigation and editing guidance. Back up first, then update the matching theme, Core and optional Pro. Existing content and saved settings remain.


= 1.3.1 =
A clearer setup and studio workflow guide. Back up first and update the matching theme and Core before Pro.

= 1.3.0 =
Back up and update the matched theme, Core and optional Pro packages. Existing project queries, enquiries, settings and shortcodes remain. New visual selection, launch review, basic CSV and local share cards are included in Free.

= 1.2.1 =
Install the matching theme, Core and optional Pro packages. This release corrects setup-page access and improves project gallery navigation. Existing content and settings remain.


= 1.2.0 =
Back up and test on staging. Update the coordinated theme, Core and optional Pro set together. Existing administrators receive the dedicated enquiry capability. Review retention and form settings; guided demo setup remains optional and never runs on activation.
