X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mailout-de.gmx.net (mailout-de.gmx.net [213.165.64.22]) by mail.alpinelinux.org (Postfix) with SMTP id A9C39DC0164 for ; Wed, 5 Dec 2012 16:01:09 +0000 (UTC) Received: (qmail invoked by alias); 05 Dec 2012 16:01:08 -0000 Received: from 88-134-34-124-dynip.superkabel.de (EHLO tardis.home.0x539.eu) [88.134.34.124] by mail.gmx.net (mp002) with SMTP; 05 Dec 2012 17:01:08 +0100 X-Authenticated: #23809366 X-Provags-ID: V01U2FsdGVkX18mk4Yycx0m50alUIup5XscUfcLxQkReFpSePA6IK XGxvy98il3YZpB Content-Type: multipart/signed; boundary="Apple-Mail=_623B824A-5506-481B-8B2C-AF7887CB32FF"; protocol="application/pkcs7-signature"; micalg=sha1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\)) Subject: Re: [alpine-devel] Ideas for a new config framework, ACF2 From: Oliver Loch In-Reply-To: <201212051939.19111.vkrishn4@gmail.com> Date: Wed, 5 Dec 2012 17:01:06 +0100 Cc: Kaarle Ritvanen , "alpine-devel@lists.alpinelinux.org" , acf@lists.alpinelinux.org Message-Id: <88399884-A181-4082-A6DF-EEA0B2B374A5@gmx.net> References: <20121129152317.69585a4f@ncopa-desktop.alpinelinux.org> <201212022211.23812.vkrishn4@gmail.com> <201212051939.19111.vkrishn4@gmail.com> To: vkrishn4@gmail.com X-Mailer: Apple Mail (2.1499) X-Y-GMX-Trusted: 0 --Apple-Mail=_623B824A-5506-481B-8B2C-AF7887CB32FF Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=iso-8859-1 Hi, have a look at the FreeNAS WebUI. They used Django ( = https://www.djangoproject.com/ ) together with DoJo ( = http://www.dojotoolkit.org ).=20 If we use this setup we get a lot of stuff already working: On the Django site, as the backend: - Abstraction on multiple layers. - There is no need to deal with the = database backend. One defines types, and then uses them. Database layer = is completely transparent. - The main code that does everything is written as a module, that is = then executed by Django for us. No need to write all the stuff around = it. - Views - every "module" also has views, which are used to generate the = page shown to the user. It has a small language to be able to put the = values in the right places. - Every module that is written for Django, has it's own Types+Database, = it's own main code and it's own views. It resides in it's own directory = and does not interfere with any other plugin. Which breaks only the = plugin and not the whole setup. - It has it's own, builtin, webserver. It's not recommended for = production use, but it's there ;) We could also run it as an FCGI = backend connected to busybox' httpd. With DoJo on the client side we get a fully working javascript framework = that is know to work in Internet Explorer, Firefox, Chrome, Safari and = Opera. We don't have to deal with anything on the client side. Only = define the website, get the data in there and that's it. It also offers = different GUIs for mobile devices like IPad, iPhone, Android, Windows = Mobile and so on... So whatever we hit - it will work ;) And it has a lot of nice plugins and views. Check out the website at = www.dojotoolkit.org There is even a Djang-DoJo Distribution, but it hasn't been update for a = longer time, so imho we should do it on our own. We can provide a working environment that nearly fits all needs to any = plugin developer which can make the Distro become popular for embedded = devices and such :) But there are also downsides: - Django is written in Python... Maybe there is something similar = written in Perl/Lua/Tcl/$Poison. - The size of Python is really big imho and I don't know if it works = with embedded Python. - The javascript framework can produce a lot of load at the client if we = do nasty things like on-the-fly search updates and stuff. However, just a suggestion :) KR, Oliver Am 05.12.2012 um 15:09 schrieb "V.Krishn" : > On Wednesday, December 05, 2012 01:27:09 PM you wrote: >> On Sun, 2 Dec 2012, V.Krishn wrote: >>> Can we know what frameworks/components are involved. >>> Few that I could get from the thread: >>> 1. bootstrap >>> 2. backbonejs, requirejs >>> 3. lua >>> 4. minihttpd >>> 5. json libs >>> 6. sqlite >>> 7. augeas >>>=20 >>> Any thoughts on tir (lua+mongrel2+zeromq) ? >>=20 >> I used Tir as part of the first prototype before writing the >> proposal. This was in May, but afterward we decided to opt for full >> client-side implementation for the web UI, whereas Tir seems to = target >> server-side web applications. Even for those, the value add was = rather >> thin, which is quite natural because the author advertises to use = only >> 1300 lines of code. >=20 > Having a backed lua framework would be nice. > Tir could be adopted/modified as a base. >=20 >>=20 >> The proposal mentions Backbone.js, but after a second prototyping >> round I feel that this library creates more problems than provides >> solutions, at least in this context. Backbone's data model is rather >> limited in comparison to what is proposed for the new ACF. For >> example, Backbone does not support nested collections or collections >> of primitive types. Circumventing these limitations provided to add >> too much complexity both to the server and client implementation. >>=20 >=20 > Choice of client-side js libs should not be a stress here. > Rather module-specific adoption of other libs should be possible. >=20 > Mongrel2 also involves zeromq, which has its own benefits. >=20 > Also to be evaluated for tools/system to be used in ACF2 is "redis". >=20 > --=20 > Regards. > V.Krishn >=20 >=20 > --- > Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org > Help: alpine-devel+help@lists.alpinelinux.org > --- >=20 --Apple-Mail=_623B824A-5506-481B-8B2C-AF7887CB32FF Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIINSjCCBjQw ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0 Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK 75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC +y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr /+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6 Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0 dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq +n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1 9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIHDjCCBfag AwIBAgIDBMUCMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN MTIwODIzMTIyMTA4WhcNMTMwODIzMTk0NjUwWjBXMRkwFwYDVQQNExAzWUw4MDRBNVM0MUZjNzVG MRkwFwYDVQQDDBBncmltZXRvbkBnbXgubmV0MR8wHQYJKoZIhvcNAQkBFhBncmltZXRvbkBnbXgu bmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2BgTo0rcsOBWp7kZESASMN2bv3KZ LjLF5OXVqHhcN6Wpq6SClg1km23iScVNZh/u3iAmRt53LWQVZ40SE4taXCRhuVC9x6dAidwquVAC CRDmWV9/XggO5FTvbQm2YG8x8B8oV5xsivkwpzK1dS543I4CDf4JlpLnssOd6qUbHakBiI5x6jSe 1aqCyrOUvE8FMstHV1mj0zqUNIlGaqVq+p8Ihu3UHeXIoq4bHwUh5dNef5IS4Z+eEJJxEtiP0rOc osSGNJ6b6o+C1AGAd6YCZMpetOoUEA5Ed6lG97iX4oki5E9sXwmT9Esg/kHpy9kn9Di9NN8FcjWd V9rW0qcc8QIDAQABo4IDqzCCA6cwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0lBBYwFAYI KwYBBQUHAwIGCCsGAQUFBwMEMB0GA1UdDgQWBBTBkX8vtsf2lsKKDEX0xX/51YU05jAfBgNVHSME GDAWgBRTcu2SnODaywFcfH6WNU7y1LhRgjAbBgNVHREEFDASgRBncmltZXRvbkBnbXgubmV0MIIC IQYDVR0gBIICGDCCAhQwggIQBgsrBgEEAYG1NwECAjCCAf8wLgYIKwYBBQUHAgEWImh0dHA6Ly93 d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuc3RhcnRz c2wuY29tL2ludGVybWVkaWF0ZS5wZGYwgfcGCCsGAQUFBwICMIHqMCcWIFN0YXJ0Q29tIENlcnRp ZmljYXRpb24gQXV0aG9yaXR5MAMCAQEagb5UaGlzIGNlcnRpZmljYXRlIHdhcyBpc3N1ZWQgYWNj b3JkaW5nIHRvIHRoZSBDbGFzcyAxIFZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIG9mIHRoZSBTdGFy dENvbSBDQSBwb2xpY3ksIHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRlbmRlZCBwdXJwb3NlIGlu IGNvbXBsaWFuY2Ugb2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlvbnMuMIGcBggrBgEFBQcC AjCBjzAnFiBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTADAgECGmRMaWFiaWxpdHkg YW5kIHdhcnJhbnRpZXMgYXJlIGxpbWl0ZWQhIFNlZSBzZWN0aW9uICJMZWdhbCBhbmQgTGltaXRh dGlvbnMiIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3kuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6 Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUxLWNybC5jcmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYIKwYB BQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9zdWIvY2xhc3MxL2NsaWVudC9jYTBCBggr BgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc3ViLmNsYXNzMS5jbGllbnQu Y2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkqhkiG9w0BAQUF AAOCAQEAu10UCqEyR721bWxUEWvl2Vk1fjD2OKHIuN7vCXgRy2tpgub6A/kUOv6kiBRzlPwpRijd pR+hBhTev8CXiRtk8OQtZ+olLSqDO685k5OgM2YEK8PQZWSrIwuCfyoG88sVaMhdaf/ujWEztgs1 DRGPWELkPyd3jiibGewkMffZKaAFXAibEWzXReEo5VvRAml/ktl/5JtR1uKTVDWJq85Nt1vdBhUY AQSGH5N8+We9arvzgNc3mzmEIRROGUV054nBv8kCYXtzgWZt6nOdCQXVFn4YAQ8u/s4oPCY4uDuV Jhic4vTaPBS8BMR0SCdFgBWsUK46EYKgK6tspA2J4ATmtzGCA28wggNrAgEBMIGUMIGMMQswCQYD VQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg Q2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IElu dGVybWVkaWF0ZSBDbGllbnQgQ0ECAwTFAjAJBgUrDgMCGgUAoIIBrzAYBgkqhkiG9w0BCQMxCwYJ KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMjEyMDUxNjAxMDdaMCMGCSqGSIb3DQEJBDEWBBQt Ug5nIZhqdaPkT/aE/E/HiksshzCBpQYJKwYBBAGCNxAEMYGXMIGUMIGMMQswCQYDVQQGEwJJTDEW MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNh dGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0 ZSBDbGllbnQgQ0ECAwTFAjCBpwYLKoZIhvcNAQkQAgsxgZeggZQwgYwxCzAJBgNVBAYTAklMMRYw FAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0 ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRl IENsaWVudCBDQQIDBMUCMA0GCSqGSIb3DQEBAQUABIIBAHINQz7eE1F4CqRV+pOJEGOyEcmVsE1e 1bYuTeSsHejKzmyjbPVOcjkqp7lUoUid9jef2QIsdj5bxJU+DxqgXVt3fIr3S/YEo8VYh66Yo9Kq 25+Jm9Hu1ol5VTaTqv/N1nhIGNrdxDpgdHa5YVTSjn2sGjY+JiHm/uJyFQxWqCCDJFwUmfEeghCD VRN2C/1hA2+MCxwSkU2PFtQsiT8V4JLqiQ0o84m9PTcbcalQdVydr5J+s77ltgMZvJ3qyPveS58S CjVg2v644XI7K7AV0iUTqq+uyZIaKIPzux7qSQzyIj2jOe1y3RxGVSNWDFZW1wXjRDvuSFe1vm06 bIBZkZ4AAAAAAAA= --Apple-Mail=_623B824A-5506-481B-8B2C-AF7887CB32FF-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---