On Tuesday, 7 January 2014 at 15:12:45 UTC, Etienne wrote:
On 2014-01-06 9:48 PM, Rikki Cattermole wrote:
On Monday, 6 January 2014 at 17:38:25 UTC, Etienne wrote:
I'm working on a Framework/CMS where all controllers are in
oData so
you can create desktop/mobile applications in e.g. OpenUI5 -
this
allows compiling the D Language into a Desktop/Mobile
application with
Javascript UI with under 4 mb.
Every library e.g. Users (core) would be in oData, with the
ability to
add fields and relations when loading your own library with a
consistent db e.g. sqlite/mongodb. There would be oData
connectors for
each db. All libraries simply add up to create the final
application
with a unified database/oData object per domain services. You
could
call the oData remotely, but you can also issue calls
internally to
the host-local services to build a HTML frontend in vibe.d
with oData
controller.
There's tons of things I'm planning for this framework. It's
going to
be a little like a kernel with hooks & event handlers, but
with the
settings in Lua pre-runtime. API is being developed here:
https://github.com/GlobecSys/w3Vibe
I'm looking forward to some comments, I'm only going to plan
the
structure for a few more days
Since I wrote my original post, I have built an ORM[0] and
have done
quite a bit of work on my own web service framework. Not
currently up on
a repo, but its nearing ready for it.
By default it configures data models thanks to Dvorm, routes,
has update
functionality (every hour or five minutes depending on the
task), cache
manager to keeping a set data model in memory at all times.
I am planning on getting it up to a point where it works as a
CMS out of
the box but also as a flexible component library.
I actually like the look of odata and I may at some point
implement a
template mixin for it. That way will have full control over
the routes,
filters ext. that go on it.
I am having issues with getting widgits to be registered in
the form of
I want to know where a widgit is being available for. So a
route, name
and position. Which is hard when diet isn't designed for that.
Not
entirely sure what to do.
[0] https://github.com/rikkimax/Dvorm
I found it more useful to include temple instead of diet
because there's a slight learning curve otherwise, not many
people know about jade which is what diet is based on.
I think you can get strings as callbacks through temple and
pass it to other templates and include it with <%=string %>,
look at the MemoryOutputStream in vibe.
I needed the Scheme and QueryBuilder of HibernateD for OData,
because the URI includes part of the query but it needs
completion like this:
http://example.com/odata.svc/Users(1)/Role/$view
would be written as:
parser = new QueryParser(schema, "FROM Role WHERE users.id
= 1");
q = parser.makeSQL(dialect);
// writeln(q.hql);
// writeln(q.sql);
assert(q.sql == "SELECT _t1.id, _t1.name FROM role AS _t1
LEFT JOIN role_users AS _t1_t2 ON _t1.id=_t1_t2.role_fk LEFT
JOIN users AS _t2 ON _t1_t2.user_fk=_t2.id WHERE _t2.id = 1");
It would be great if Dvorm did this for BSON as well
Dvorm already has most of the query support added :) Note
.query() [0] although from what I can tell orderby would be
needed. Also some sort of relationship for properties to models.
[0] https://github.com/rikkimax/Dvorm/blob/master/src/orm/query.d