Re: [pgsql-www] Fwd: Introducing Aquameta 0.1 - Mailing list pgsql-www
From | Tatsuo Ishii |
---|---|
Subject | Re: [pgsql-www] Fwd: Introducing Aquameta 0.1 |
Date | |
Msg-id | 20170905.115130.1613600440530798604.t-ishii@sraoss.co.jp Whole thread Raw |
In response to | [pgsql-www] Fwd: Introducing Aquameta 0.1 (Eric Hanson <eric@aquameta.com>) |
Responses |
Re: [pgsql-www] Fwd: Introducing Aquameta 0.1
|
List | pgsql-www |
Hi Eric, I am one of the moderators of pgsql-announce. I think your messages falls into "Proprietary & External OSS Project News" of: https://wiki.postgresql.org/wiki/NewsEventsApproval and can be approved. Unless there's objection within a few hours, I am going to approve your message. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp From: Eric Hanson <eric@aquameta.com> Subject: [pgsql-www] Fwd: Introducing Aquameta 0.1 Date: Mon, 4 Sep 2017 19:26:03 -0700 Message-ID: <CACA6kxjfkUGqprvf7qCNMRwqbHyGSBk_sNRKiTv-R0X35Pjp8g@mail.gmail.com> > Hi, > Not sure who I should be asking about this but Mark Wong suggested these > two mailing lists. I sent the announce of Aquameta 0.1 out a few days ago > to pgsql-announce, but it hasn't posted yet. I got a notification back > that it was stalled pending approval. A few other announcements have gone > out since then though. Did I do something wrong or is there any policy I > should be consulting? I'm forwarding the email I sent. > Thanks, > Eric > -- > Eric Hanson > CEO, Aquameta Labs > 503-929-1073 > www.aquameta.com > > > ---------- Forwarded message ---------- > From: Eric Hanson <eric@aquameta.com> > Date: Thu, Aug 31, 2017 at 4:17 AM > Subject: Introducing Aquameta 0.1 > To: pgsql-announce@postgresql.org > > > Hi all, > > I'm happy to announce the release of Aquameta, a peer-to-peer network for > exchanging "bundles", a new kind of complex data object that can be almost > anything. They can include code, web apps, data, images and more, and > together create a kind of "smart object" that is very versatile and > open-ended. > > Today, users can exchange emails, publish web pages, exchange binaries via > p2p apps, and much more. We'd like to see Aquameta become another kind of > network, one where users exchange these bundled complex data objects that > hopefully do fun, interesting and useful stuff. Because bundles are made > up of data, we claim that it's a very wide pipe for creativity and > interactivity, one that opens up a whole new world of possibilities. > > Under the hood, Aquameta is a bunch of PostgreSQL schemas that handle > things like version control, web hosting, user interface, events, peer to > peer communication, etc. A bundle is made up of rows in these tables and > any others that users might wish to create. > > Aquameta has a web interface that lets users build and exchange these > bundles. They can be sent either server-to-server via http, or > browser-to-browser via WebRTC. The networked-communication aspect of > Aquameta is still under development and experimentation. > > Aquameta can be installed on a desktop, a server, in the cloud or on a > small device such as a Raspberry Pi. > > Under the hood are a lot of PostgreSQL modules which hopefully can be > useful to the PostgreSQL community. They include: > > 1) meta - a writable system catalog, that makes common DDL operations like > schema changes accessible via INSERT, UPDATE and DELETE > > > - insert into meta.role(name, superuser, password) values ('joe', true, > 'mypass'); > - insert into meta.schema(name) values ('my_schema'); > > 2) bundle - a version control system for data, similar to git, but for rows > in the database instead of files > > - select bundle.stage_row_add( > meta.row_id('public','countries','id','UK') > ); > - select bundle.commit('org.aquameta.countries','add uk.'); > - select bundle.checkout('org.aquameta.games.snake'); > > 3) event - a pub/sub event system for subscribing to data changes on a > particular column, row or table > > - select session_create(); > - select subscribe_table(meta.relation_id('widget','machine')); > > 4) filesystem - a foreign data wrapper that lets you SELECT files and > directories from the filesystem, and a daemon called postgrefs, which lets > you navigate the database from the filesystem as if it were files and > directories > > - aquameta=# select name, path, permissions, content, owner from > filesystem.file where path='/etc/issue'; > name | path | permissions | content | owner > -------+------------+-------------+--------------------------+------- > issue | /etc/issue | 0644 | Ubuntu 14.04.5 LTS \n \l+| root > | | | +| > | | | | > (1 row) > - $ ls /mnt/aquameta/public/countries > > 5) www - a web server that exposes the database over http, including a REST > interface for data manip and function calls, hosting of arbitrary > resources, and an authentication layer that uses PostgreSQL ROLEs and > PRIVILEGEs > > - aquameta=# select path, m.mimetype, substring(content from 1 for 15) > from endpoint.resource r > join endpoint.mimetype m on r.mimetype_id = m.id limit 2; > path | mimetype | substring > -------+-----------+----------------- > /docs | text/html | <!DOCTYPE html> > /dev | text/html | <!DOCTYPE html> > - select endpoint.request('0.1','GET','/docs') > > 6) widget - a user interface component framework, where web pages are > composed of "widgets", UI components made of html, css and javascript, that > accept arguments and support javascript dependencies > > - select * from widget.widget; > - select * from widget.widget_dependency_js; > > 7) semantics - a metadata layer for the database schema, where columns, > relations, foreign keys and more can be "decorated" with additional > semantic meaning > > - insert into semantics.relation (relation_id, purpose_id, widget_id) > values > ( > meta.relation_id('ecomm','customer'), > (select purpose_id from semantics.purpose where purpose='row_detail'), > (select id from widget.widget where name='customer_list_view') > ); > > > Aquameta is in very early stages, despite being under development for > years. It is finally at the point of being a marginally functional > prototype that hopefully is pointed in the right direction, but there is > still much to be done. The user interface is just beginning to take shape, > the system is not secure, test coverage is sparse, and there are surely > many bugs and missing features. We are releasing it at this early stage to > get feedback and invite contributors to help out. > > To give Aquameta a spin, head over to github and consult the README which > contains install instructions: > > http://github.com/aquametalabs/aquameta > > A demo video is available at > http://aquameta.org/ > > To jump into development, check out the project's roadmap, and join our IRC > channel and mailing list: > > http://aquameta.org/roadmap > #aquameta on irc.freenode.net > https://groups.google.com/forum/#!aboutgroup/aquameta-discuss > > Thanks, > Eric > -- > Eric Hanson > CEO, Aquameta Labs > 503-929-1073 <(503)%20929-1073> > www.aquameta.com