[openstack-dev] [UX] [Horizon] [Heat] Merlin project (formerly known as cross-project UI library for Heat/Mistral/Murano/Solum) plans for PoC and more

Timur Sufiev tsufiev at mirantis.com
Mon Aug 18 10:19:58 UTC 2014


David,

I'm happy to hear that :)! After thinking a bit, I came up with the
following strategy for further Merlin development: make all the
commits into a separate repository (stackforge/merlin) at least until
the PoC is ready. This will allow to keep project history more
granular instead of updating one large commit inside openstack/horizon
gerrit (thus also lessening the burden on Horizon reviewers). Once the
Merlin proceeds from the experimental/PoC phase to the implementing of
a more elaborated spec, it will be just the time for it to join with
the Horizon.

On Wed, Aug 13, 2014 at 2:48 AM, Lyle, David <david.lyle at hp.com> wrote:
> On 8/6/14, 1:41 PM, "Timur Sufiev" <tsufiev at mirantis.com> wrote:
>
>>Hi, folks!
>>
>>Two months ago there was an announcement in ML about gathering the
>>requirements for cross-project UI library for
>>Heat/Mistral/Murano/Solum [1]. The positive feedback in related
>>googledoc [2] and some IRC chats and emails that followed convinced me
>>that I'm not the only person interested in it :), so I'm happy to make
>>the next announcement.
>>
>>The project finally has got its name - 'Merlin' (making complex UIs is
>>a kind of magic), Openstack wiki page [3] and all other stuff like
>>stackforge repo, launchpad page and IRC channel (they are all
>>referenced in [3]). For those who don't like clicking the links, here
>>is quick summary.
>>
>>Merlin aims to provide a convenient client side framework for building
>>rich UIs for Openstack projects dealing with complex input data with
>>lot of dependencies and constraints (usually encoded in YAML format
>>via some DSL) - projects like Heat, Murano, Mistral or Solum. The
>>ultimate goal for such UI is to save users from reading comprehensive
>>documentation just in order to provide correct input data, thus making
>>the UI of these projects more user-friendly. If things go well for
>>Merlin, it could be eventually merged into Horizon library (I¹ll spare
>>another option for the end of this letter).
>>
>>The framework trying to solve this ambitious task is facing at least 2
>>challenges:
>>(1) enabling the proper UX patterns and
>>(2) dealing with complexities of different projects' DSLs.
>>
>>Having worked on DSL things in Murano project before, I'm planning at
>>first to deal with the challenge (2) in the upcoming Merlin PoC. So,
>>here is the initial plan: design an in-framework object model (OM)
>>that could translated forth and back into target project's DSL. This
>>OM is meant to be synchronised with visual elements shown on browser
>>canvas. Target project is the Heat with its HOT templates - it has the
>>most well-established syntax among other projects and comprehensive
>>documentation.
>>
>>Considering the challenge (1), not being a dedicated UX engineer, I'm
>>planning to start with some rough UI concepts [4] and gradually
>>improve them relying on community feedback, and especially, Openstack
>>UX group. If anybody from the UX team (or any other team!) is willing
>>to be involved to a greater degree than just giving some feedback,
>>you're are enormously welcome! Join Merlin, it will be fun :)!
>>
>>Finally, with this announcement I¹d like to start a discussion with
>>Horizon community. As far as I know, Horizon in its current state
>>lacks such UI toolkit as Merlin aims to provide. Would it be by any
>>chance possible for the Merlin project to be developed from the very
>>beginning as part of Horizon library? This choice has its pros and
>>cons I¹m aware of, but I¹d like to hear the opinions of Horizon
>>developers on that matter.
>
> I would like to see this toolset built into Horizon. That will make it
> accessible to integrated projects like Heat that Horizon already supports,
> but will also allow other projects to use the horizon library as a
> building block to providing managing project specific DSLs.
>
> David
>
>>
>>[1]
>>http://lists.openstack.org/pipermail/openstack-dev/2014-June/037054.html
>>[2]
>>https://docs.google.com/a/mirantis.com/document/d/19Q9JwoO77724RyOp7XkpYmA
>>Lwmdb7JjoQHcDv4ffZ-I/edit#
>>[3] https://wiki.openstack.org/wiki/Merlin
>>[4] https://wiki.openstack.org/wiki/Merlin/SampleUI
>>
>>--
>>Timur Sufiev
>>
>>_______________________________________________
>>OpenStack-dev mailing list
>>OpenStack-dev at lists.openstack.org
>>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



-- 
Timur Sufiev



More information about the OpenStack-dev mailing list