Livecode Content Management System

Andre Garzia andre at andregarzia.com
Fri Dec 1 20:04:01 EST 2017


Hey Alex,

Long time, no see! Hope all is well over there. Its that time again when I
pop up out of nowhere and write a long email, sorry for the longform text
but I am kind of a sucker for CMSs.

as pointed before by Ralf, CMSs are tricky business and quite hard to get
it right. It is easy to get something working but making it right for your
users and also safe is quite hard indeed and thats why I want to share some
opinions from someone who has done a lot in this space before with
different degrees of success, just please bear in mind that this is my
opinion and your experience may vary.

Using a more widespread language such as PHP or Python will make it easier
to find content about CMS but this convenience might be less useful when
compared to your expertise in LC. Using the language you know well tend to
lead to a saner workflow than "lets learn or get better with $LANGUAGE so
that we can build $PRODUCT", if you want to build a product that you will
ship and reuse, better go with something you have pleasure working with
even if there is few literature about how to apply LC to the task at hand.

There will be a lot of challenges, specially related to interfacing with
third-party stuff or dealing with common modern tasks as we lack a lot in
terms of libraries when compared to PHP and NodeJS (and basically all the
other languages out there used in web). LC is quite powerful but to do
proper web work you will probably require reinventing the non-existing
wheel every once and again. RevIgniter will get you quite far thought and
Ralf is just an amazing guy that deserves tons of kudos and cumplimentary
drinks (or sodas, or juice, no idea what he likes) from us at the next
conference.

The main problem I see when using LC for web is that we tend to use LC as
if it was PHP and forget all the features that makes it powerful. Many who
have recent contact with me knows that I am absolute believer in LC power
on the Desktop, and that I tend to use other technologies when developing
web or mobile even though LC can do both, it is just a matter of
preference. What I think would be a unique selling point for a CMS built
with LC is embracing the Desktop. Other CMSs such as the PHP built ones
require a complex web interface to administrate it full of thousands of
moving parts. Usually it is on these admin interfaces that all the
problems, bugs and invasions happen. Instead of treating LC Server as a
readable PHP engine and working just like PHP developers do, you can do
something that they can't, you can ship real, proper, Desktop tool that
works well and offline and syncs with the main server when needed.

If I was building a CMS today with LC Server, I would build an API server,
something that receives and responds JSON or GraphQL (if we ever write a
GraphQL library). I would build a Desktop admin tool with a UX better than
a web interface in half the time it would take to build a web interface.
The presentation part with the templates and so on, I would delegate to
RevIgniter.

If I may give you some tidbits to check out that might be interesting for
your project:

* Check GravCMS model of data storage. It is a quite good CMS built with
PHP that doesn't use a RDBMS. All the posts are flat-files on disk, it is a
very powerful approach and then you don't need to worry about SQL injection.
* If you build a Desktop app, then, you can use something like a "bundled
revserver" to run the whole system locally thus enabling the user to fiddle
with the site even when not connected to the internet (sync later)
* If your Desktop admin app is based on a feature complete library for your
own CMS, then you can create custom stacks for specific clients or needs
thus providing value and care that they usually can't find elsewhere.
* By not having an web admin interface, you reduce the "attack surface" of
your system.
* If you choose to store your data on flat files and use git on that
folder, you get branching, rollback and backups for free for your CMS.
* If you do what I mentioned above, you also can collaborate with others
running the Desktop admin and its local web server, thus enabling
distributed development of the site and deployment to production later.

I can go on for ours regarding CMS and ideas, specially because I am not
the one implementing it, I am just venting out information..

Om om
andre

On Fri, Dec 1, 2017 at 5:20 PM, Simon Smith via use-livecode <
use-livecode at lists.runrev.com> wrote:

> Hi
>
> I have played with this a bit, and got pretty far for a proof of concept
> for an ecommerce project I was working on. I stopped working on it when I
> left the company I was working for.
>
> I did not use rev igniter since I wanted it to function as it's own
> framework and I think it just makes the coding simpler in the end. I was
> not coding it in the IDE but rather my text editor (sublime), it just works
> so nicely for web projects =) and I have not really had any problems with
> debugging in the browser.
>
> I got pretty far with it. Creating pages, posts products etc, Had a WYSIWYG
> editor (TinyMCE) along with a simple image uploader / manager. Themes
> worked and kinda had I have an idea on how to handle some type of plugin
> architecture. It was working pretty well for the project I was developing
> it for. I have since then started cleaning it up  and making it more of a
> generic CMS but time is my biggest problem  :(. The idea was / is to have
> an alternative CMS that I could use for when WordPress was not a good fit
> for a website.
>
> I have also done a much simpler "CMS" in LC for my blog. It's just 1 lc
> file and an sqlite database and does pretty much everything I need. Still
> needs a bit of cleaning up, but I am quiet happy with the way it turned out
> and how easy it was code.
>
> To answer your question:
>
> 1) Apart from time, l did find that there were a few PHP functions that
> would have be very useful  to have in LiveCode but I could work around
> pretty much all the problems I had.
> 2) Everything has its place. WordPress is a fantastic CMS and capable of
> much more than most people realise but does have it's limits.
> 3) Unfortunately I don't have much rev igniter experience, but I have never
> been fond of using frameworks in web projects.
>
> If everything was working smoothly and quickly, I don't think it is
> necessary to remove rev igniter and I would far rather work with a text
> editor and debug in the browser than in the IDE.
>
> While WordPress is a very popular CMS (can't deny that) it can become very
> user unfriendly very quickly, and not to mention slow. Clients are usually
> happy to accept alternative solutions if they will make their lives easier
> (even if they are simpler and lack all the functionality of a more popular
> CMS. It is amazing how much faster a CMS can be once you strip out all the
> unneeded functionality.
>
>
> Simon
>
>
>
>
> Carpe diem
>
> *Simon Smith*
> m. +27 83 306 7862
>
> On Fri, Dec 1, 2017 at 3:56 AM, Alex Tweedly via use-livecode <
> use-livecode at lists.runrev.com> wrote:
>
> > Hi folks,
> >
> > I'm looking for (initial) interest, previous experience, comments, etc.
> >
> > Every few [ = 4 to 8] months for the last few [= 2 to 3] years, I've been
> > either building a new website for someone, or making significant
> > changes/enhancements to an existing one. Almost every time, unless the
> > changes are very small, I've decided that I really *should* convert it to
> > use a 'proper' CMS - e.g. Wordpress.
> >
> > And I've tried - but every time I've foundered on not being able to get
> > the site to be what I want, or realizing (believing?) that to do what I
> > want requires real development skills within WP - and therefore too much
> of
> > a learning curve and/or too much PHP.  Or, I've decided that to make it a
> > bearable experience I need to use multiple add-ons (plugins, themes,
> etc.)
> > and then found that the plugins I spent hours investigating and choosing
> > were incompatible. Or were just not well enough documented.
> >
> > [ I won't tell you how often I've found a (video) tutorial, wasted an
> > entire hour or more watching it - then realized that it was for an
> > out-of-date version of the plugin, or an old version of Wordpress, and
> that
> > all the helpful screenshots showed me how to modify settings / actions
> that
> > didn't exist, or had no obvious equivalent, in the current versions. ]
> >
> > Twice, having run into brick walls with Wordpress, I've tried other CMSs
> > (Concrete5 and ??Dolphin??) with similar results - poor / out-of-date
> docs
> > have left me stranded - 80% of the way towards doing what I wanted and
> > unable to get any further.
> >
> > So in every case until now, I've given up, made tweaks / extensions to my
> > own "home-grown" web site tool(s), and - so far - completed my
> enhancements
> > in less time than I had wasted trying the "real" CMS.
> >
> > I put that down to:
> >  - the power of Livecode
> >  - the power of revIgniter  (thank you ! again, Ralf)
> >  - my impatience in trying to learn new tools
> >
> > But now I have a new, bigger opportunity / challenge - I've been asked to
> > build a web site (actually two unrelated web sites) which are bigger and
> > more complex, and for which I absolutely do not want to become the de
> facto
> > on-going (content) maintainer.
> >
> > So, I've decided to build LCMS - a Livecode Content Management System.
> >
> > It will be (very loosely) based on what I think are the useful ideas in
> > Wordpress (but without any tendency towards blogs). It will be relatively
> > simple.
> >
> > It won't be:
> >  - smooth, slick and all-powerful like WP
> >  - able to support (initially, and for some time) real independent
> > development of themes, plugins, auto-loading and updating, etc. etc.
> (yada,
> > yada, yada ...) - that might be done in a few [= 2 to 20 years]
> >
> > It will be :
> >  - based on Livecode (and extensible in LC)
> >  - (I hope) simple and easy (for a LC developer) to understand, use and
> > extend
> >  - complete with at least one complete theme (based on Botstrap)
> >  - (at some point) open source, on github, etc. under MIT liceense
> >  - documented in some old-fashioned way (i.e. written, searchable,
> > skimmable tutorials - few or no Youtube videos to waste your time)
> >
> > OK - enough of the advertising pitch :-)
> >
> > Here are the requests for input ....
> >
> > 1.  has anyone tried this before ? and did you succeed ?  or why did you
> > stop ? any foreseeable problems to contend with ?
> >
> > 2. am I just tilting at windmills and I should just go back to studying
> WP
> > and its plugins ?
> >
> > 3. the current prototype is based on (or rather 'is written over'
> > revIgniter).
> >
> > I have very conflicting opinions of revIgniter
> >     + it's wonderful, it has a huge quantity of things it "just does" (in
> > a well documented, well tested, etc. way)  so that I don't need to think
> or
> > learn about them, etc. - I love it.
> >     - (a) it is intimately tied to LC server, with heavy dependency on
> > 'include' so it's impossible to (as I would want to do) test 99% of my
> code
> > in the IDE, with debugging etc. help.
> >     - (b) I *really* dislike the "rigLoadView" scheme - it forces (or
> > seems to force) far too much co-mingling of code and content within the
> > view files, and has no clear way to use "themes"
> >
> > The current version of LCMS simply ignores the 'View' (and 'Model') part
> > of revIgniter, and generates all its output based on  ''pages' and
> > 'themes'  (and 'menus') - but it sill benefits from all the other parts
> of
> > revIgniter).
> >
> > do you think it would be worth the (considerable) effort needed to remove
> > the dependency on rvIgniter in the hope of benefiting from the reduced
> > complexity, hopefully lower overhead, easier debugging a higher
> percentage
> > within the Ide, etc. ?
> >
> > Thanks for any suggestions, input, etc.
> >
> > Alex.
> >
> >
> >
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> > subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>



-- 
http://www.andregarzia.com -- All We Do Is Code.
http://fon.nu -- minimalist url shortening service.



More information about the use-livecode mailing list