Beta three is quite stable right now, but the customized page editor is not complete and does not save. The first two betas worked well with auto-forms, current mission is to finish the page editor. The file structure is still in very beta mode. :>
-
Main Site (in maintenance mode atm)
-
Installer works (/install).
- Installs admin email/password user (required, rest are skippable).
- Installs social login keys.
- Installs Google Analytics keys.
- Installs Kadira keys.
- Coming soon: Rollbar & Atmosphere keys
- Allows customization of all settings (strings still mixed between hard code & 'constants' and non-databased).
- Offers to install default content (might not be done?).
- Eventually will offer theme & plug-in selection.
- Caveat: I have been wrestling with getting it to intelligently run the installer when required (no config in database) without showing it to a client first. Currently I think it is route based, I might have a solution in my head but execution of that may be a while.
-
Administration
- Configuration editor works but is quick-formed
- News & article/post editor work as auto-forms.
- Page editor is (soon to be super duper awesome) where I left off to work on #OnePageWonder, I will return the autoform version as a fallback until complete as soon as I can
- Post editor works via autoform
- Roles editor, works and is meant to be extensible
- Service key editors... are probably autoformed.
- User editor has been designed (views: single, large cards, small cards, table) but lacks functionality
-
MP Markdown
- I wrote a really nice markdown parser before I found the GFM Javascript library. I may use that instead, or alter my code a bit to more closely resemble it.
-
Consumer output
- Pages, posts & news will all be sensibly output if you manage to get them in. :)
- Current semantic, unstyled output is presented in the following order:
- 3 most recent news items.
- Page title & summary data (so you can make sexy full-width front page designs predicatably w/bg image from page settings). Audio & image attachments are working, I forget about videos & such. Also, I forget if they are sorted or just alphabetical right now.
- A limited set of posts/articles are output, not sure if it's a togglable header list that expands summaries or not yet. :D
-
Navigation
- All navigation & routes are currently static. I am awesome at navigation design though, you can read a little story about the design and implication of a tertiary navigation system into my PHP CMS circa 2007 here, and the custom Smarty plug-in I wrote to assist it here.
- The #MeteorPress navigation style is pretty well tested but I did introduce a bug right (in unrelated code! :|) before I finished (just something w/the icon). It will be the standard navigation for MP until 2.0 or later but still has some indentation & icon work to do.
-
File structure
- Is b3 status which means chunky and kind of .. prone to wandering around. In other words, it's a mess right now. :D #OnePageWonder is much cleaner and the lessons I'm learning there will be transferred here before beta.3 is complete.
-
Database structure
- Is where I began and pretty thorough although I intend to drop autoforms/collection2/etc in favor of the new one I recently found (or might write my own).
-
Dynamic Plug-ins and Themes
- Integral features near and dear to my heart, but quite complex to work out in within the bounds of Meteor. I am still mapping out the specifics in my head but am most certainly open to suggestions!
Previous betas work just fine as skeletons and are in my tarballs repository.
Thanks to a tip I read by Matt DeBergalis I anticipate ES6 modules to help me clean up the namespacing, load order & file system quite a bit!
I am working on Meteor-style cURL installers that will allow one to choose between tarball, tarball with example data or Github install for both #MeteorPress and #OnePageWonder.
Until then:
$ git clone ssh://git@github.com:iDoMeteor/meteorpress.git
* iDoMeteor is case sensitive (thx Github :p)!
$ cd meteorpress
$ meteor
Open localhost:3000 (or localhost:3000/install?) in your browser and go from there!
Template Steps
mpInstallWelcome
mpInstallSuperUser
mpInstallLoginKeys
mpInstallGoogleAnalytics
mpInstallKadira
mpInstallConfiguration
mpInstallDefaultContent
_/- mpInstallSuccess
\- mpInstallFailure
-
Server side view
- Server side code executes
- Default configuration is read from ./opw/init
- API loads and together with above provide everything needed to continue
- Collections are instantiated, including general publications and allow/deny model
- Global initialization tries to run installer if required but needs to init
- Error methods are loaded (not used yet, may not be)
- Iron Router loads (static, switching to Flow soon asap anyway)
- Schemas are loaded (I went to town, going to switch packages though)
- Strings are loaded (going to database eventually)
- Library loading begins
- Plug-in engine theoretically fires up ;> (ie; lib/plug-ins)
- Server library fires
- Server plug-ins load
- Root level plugins load (where you might put custom, client-specific plugs on a set it & forget it profit oriented job)
- Meteor "server environment" starts up on the server fires (meteorpress/server/main.js)
- Meteor startup from the library fires (meteorpress/lib/main.js) (this doesn't log the env atm, so who knows)
- Meteor.startup in meteorpress/server/main.js actually fires
- Server side code executes
-
Client side load order
- Defaults
- Client init (GAnalytics lives here currently)
- API
- Collections
- Global init
- Global methods
- Routes
- Schemas
- Strings
- Global subscriptions (template subs on load ofc)
- Plugin engine
- Selected theme (typically /client in a Meteor project)
- Installation check (obviously out of order)
- Markdown parser
- Theme engine (placeholder)
- Lazy plugins (drop-ins, placeholder)
- Main shared env
- Meteor figures out if we're logged in and does role check
They average 10-12 minutes but are quite thorough!
- Installation: https://www.youtube.com/watch?v=dLk5XEyjTR8
- Front end: https://www.youtube.com/watch?v=hCNImgOzNN4
- Role editor: https://www.youtube.com/watch?v=aqzA-\_X7iGM
- Page editor (audio): https://www.youtube.com/watch?v=Ega-e5D3Ir4
- Page editor (images): https://www.youtube.com/watch?v=HIZIwZT7ISo
All user profile objects can be counted on to provide: created date email string * image string * ips array name string username string
May be null, otherwise it will have value