DISCLAIMER - This project is still very much under construction. Stay tuned!
An ultra fast, fluid and realtime data management microframework
- composer
- npm
- Mimoto uses Gearman async manager
- Node JS
- Memcached
Run event worker
curl http://mimoto.local/mimoto.cms/workers/data
Run async worker
curl http://mimoto.local/mimoto.cms/workers/async
Run realtime server script
node src/userinterface/Mimoto/realtime.js
Run js parser
npm run build-web:dev
Go to the root of the project and
composer update
npm install
cp mimoto.json.dist mimoto.json
Fire up the Gearman worker and make sure it keeps running in the background.
curl "http://mimoto.aimless/mimoto.cms/workers/data
"jquery": "^3.1.1",
"jquery-ui-dist": "^1.12.1",
Mimoto is an Entity Oriented Programming protocol that allows you to easily create a realtime interface.
Mimoto
= data
Aimless
= presenting that data (render and realtime)
Mimoto is typecasted
Mimoto.CMs has it's built in developer debugging console at /mimoto.cms/notifications
This notification Center supports silent
, notify
, warn
and error
.
Mimoto::service('log')->notify('A notification', "There is something I would like you to be aware of. No rush!");
Mimoto::service('log')->silent('Silent notice', "The configuration is missing a paramater, but we'll do without for now");
Mimoto::service('log')->silent('Another silent test', "Does it live update?");
Mimoto::service('log')->warn('Some warning', "Something probably needs your attention");
Mimoto::service('log')->error('uh-oh, an error', "Your code is broken. Please fix");
Aimless has support for aesy to implement counters for for instance new notifications. In the below example when a notification is created, or a notificatin changes it's state from open
to closed
, Aimless will automatically update the counter and even update the presentation of the counter (in this case by hiding the counter when the count hits zero)
Example:
<div id="header_notification_count" class="hidden" data-mimoto-count="_Mimoto_notification" data-mimoto-filter='{"state":"open"}' data-mimoto-config='{"toggleClasses": {"onZero": "hidden"} }'>0</div>
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset
- But what if soemone already has that value on its screen? That person would miss out on the latest changes. Enter Aimless's realtime feature (configure action rule, per user or group, entity, specific value, delayed) broadcast as webevent.
- Don't program functionality, configure it! Start using actions.
- It's really easy. See this example.
- An open platform - build addons tools utils adapters
- External platforms as services that can be connected / addon
- Complex data structures become cheap
- The price of complexity decreases!
- "brianlmoon/net_gearman": "dev-master"
- http://svgjs.com
Post slug generator, for creating clean urls from titles. It works with many languages. From: http://php.net/manual/en/function.preg-replace.php <49> hello at weblap dot ro
Example: post_slug(' -Lo#&@rem IPSUM //dolor-/sit - amet-/-consectetur! 12 -- ') will output: lorem-ipsum-dolor-sit-amet-consectetur-12