MiCyte

← The wiki

PIM

BuiltRendered from 46h-pim.md in the public repository. Edits belong there.

PIM is a hosted client's own application for its account, its website and its mail, run on the client's instance against the ports the client's binding permits.

Packagepim, version 0.5.1
KindApp. Hub tool pim_overview
ForThe client who owns the instance. It is not the operator's view of the client
Own sandboxYes. Its namespace is copied from the instance's own core anchor at install ("", inherit)
PortsEmploys email_provider and site_hosting
PreviewDemo

What it turns on

Installing exposes two tools, pim_overview (the hub) and pim_design, and provisions the app sandbox with two documents:

  • contacts (archetype natural_entity_profile): people who signed up on the client's website. Same archetype as a Quiar client, different record.
  • donations (archetype invoice): gifts given through the client's website.

The hub draws these tabs, in this order. A tab whose port is not bound states that it is not, and why, instead of showing an empty table.

Tab (id)Drawn whenContent
Home (home)Always; defaultWhat the account holds and what its site and records use against the plan's storage
Authoring (design)site_hostingpim_design. Two views: Writing (a gallery of articles; each article's page carries its versions and the publish, retire and send actions) and Contacts (the website's sign-ups, each switchable on or off the mailing list)
Design (site)site_hostingThe pages the site serves and the images it uses
Resources (resources)AlwaysImages, documents and profiles kept beside the site
Analytics (analytics)site_hostingVisits to the instance's own site
Donations (donations)The instance keeps a donations documentGifts given through the site
Email (email)email_providerThe instance's addresses and where each forwards; sub-tabs Addresses, Spam, Held
Domain (domain)The account keeps a domainThe domain and what is served at it
Payment (payment)AlwaysWhat the site has taken, and the payment processor account connected to it

Each tab can be switched off per instance. The switches are read from the instance's pim_features document and, where none exists, from installed_packages.pim.installs[*].features in its configuration. Unknown ids are ignored. The retired ids newsletter, contacts and storage are not reused.

What it reads and writes

  • Article bodies are not datum documents. A MOS writing holds 4,096 printable-ASCII characters and articles routinely exceed that, so the writing lives in the site and is read and written through site_hosting.
  • Port status (bound, granted) is read from the instance's configuration. PIM does not probe a port to draw a tab.
  • PIM's tools declare no datum writes of their own; their effects are the port operations below.

Ports

PortOperations declared
email_providermailbox.list, message.fetch, alias.list, forwarding.set, identity.verify_request, identity.remind, held.deliver
site_hostingpage.list, article.publish, article.retire, analytics.read, content.replace, asset.upload, article.send, contact.set_subscription

On an instance hosted by FND both are filled by FND Service. PIM employs held.deliver rather than message.forward, so it can release held mail without being able to forward mail anywhere.

Status

Built and published. A demo exists.

Source