Access DataStoreAPI with third-party app - opendata

I want to access the CKAN DataStoreAPI with ruby. And i have some questions. Is it possible to access the DataStoreAPI with ruby? I want to create, read and update resources in the datastore and i prefer ruby.

As the CKAN API uses HTTP, you can access it with whatever language you prefer simply by hitting the correct URIs. For example, there are libraries for PHP (https://github.com/opencolorado/PHP-Wrapper-for-CKAN-API), and .NET (https://github.com/opencolorado/.NET-Wrapper-for-CKAN-API). They look abandoned, though.
Although I also prefer Ruby, unless you have a really good reason for using it, I recommend you to stick with Python. There're a few good libraries that would help a lot when using the API like https://github.com/open-data/ckanapi and https://github.com/dgraziotin/libckan. As far as I know, there's no library for CKAN in Ruby, so you'll have to build your own.

Related

Why does nginx need Lua when it works fine without it?

Why does nginx need Lua when it works fine without Lua and Openresty?
Also, I'd like to know which Lua modules are very important to build large scale web applications.
Okay, those are two questions.
Why does nginx need Lua
Well, it doesn't need it; in fact, many people are using plain nginx just fine. Even though I usually just run openresty, I often find myself doing lots of things with just the nginx features.
That being said, Lua is a scripting language, something that nginx on its own jus doesn't (yet) have. It allows adding functionality to a webserver without having to write C modules and in a way that can be easily changed or reloaded during runtime.
Kong is a good example for this: It uses Lua to script advanced behavior that nginx doesn't really support out of the box.
which Lua modules are very important to build large scale web applications
That really depends on what you want to build. In principle, you can build lots of stuff just with openresty alone, and if you do it right, it will probably be faster than most applications written in other frameworks.
Normally, you'd most likely want at least some sort of templating engine though. Something that allows you to build HTML pages without having to rely on Luas "primitive" string processing features. You will also most likely need some library to interface whatever database you decide to use. From there it really depends mostly on what you want to build.

Meteor's clientside technology stack

I'm thinking of adopting Meteor for my hobby project and I'm wondering something.
On one or two websites that were comparing various frameworks listed Meteor as one having both client and server libraries (a better term could be used here, but I can't think of one!).
So my question is...
Where can I find more info about this client library and its capabilities?
Can I drop the default library (whatever it may be) for something like Knockout? Do I need or want to?
Meteor has a database everywhere approach which means that you can use the same interface for accessing your data on both client and server. (i.e. MyCollection.find() would do a find whether you're on client or server.
As for client side libraries, meteor supports adding packages such as other templating engines like meteor-knockout. As well meteor comes with the Handlebars templating engine, which is what is used in the docs. See here
In general, if you want to know anything about Meteor, the docs are the best place to go.

Alfresco's MMT vs Integrated Deployment

When developing for Alfresco, are there any advantages to using the MMT over Integrated Deployment? Is there anything you can develop using one method, but not the other?
Browsing through Alfresco's SDK examples, I noticed many of them used integrated deployment, and the same went for all of the Share webscripts I saw on Google Code. Right now I'm just using the Integrated Deployment method, and everything seems to be working well, but I'm curious if I'm missing out on anything by not using the MMT.
Modules and integrated deployments are exactly the same in terms of code capabilities. The main difference is about distributing your customization: if you need/want to
provide your customizations to the external world or
reusing them across different projects or
port them to different Alfresco versions
then modules are the way to go, especially if you're not releasing the source code. The only downside of AMPs is that they write something in the DB but you currently can't uninstall them, even if there are some tricks you can try out.
I personally still prefer using AMPs as much as I can for my customization, leaving to embedded changes only stuff that can't go into an AMP (e.g. overriding original Alfresco files). The maven way also helps (and drives you a little) towards this practice.

is there an scp/sftp client library available for flex?

I need to send files securely from Adobe Air. In any other language, my first thought would be sftp/scp, but I don't see any libraries to do that in Flex.
I'm new to flex, so I'm not sure where to look for code examples and repos. It looks like the raw socket interface is available, so I could write one if no good examples exist. Of course, I'm trying to avoid that.
There was an action script ftp project, but it seems to be no longer maintained. You can take a look here, maybe you can reuse some code.

How to make two web sites appear as one - What features are important?

I am about to write a tender. The solution might be a PHP based CMS. Later I might want to integrate an ASP.NET framework and make it look like one site.
What features would make this relatively easy.
Would OpenId and similar make a difference?
In the PHP world Joomla is supposed to be more integrative than Druapal. What are the important differences here?
Are there spesific frameworks in ASP.NET, Python or Ruby that are more open to integration than others?
The most important thing is going to be putting as much of the look-and-feel in a format that can be shared by any platforms. That means you should develop a standard set of CSS files and (X)HTML files which can be imported (or directly presented) in any of those platform options. Think about it as writing a dynamic library that can be loaded by different programs.
Using OpenID for authentication, if all of your platform options support it, would be nice, but remember that each platform is going to require additional user metadata be stored for each user (preferences, last login, permissions/roles, etc) which you'll still have to wrangle between them. OpenID only solves the authentication problem, not the authorization or preferences problems.
Lastly, since there are so many options, I would stick to cross-platform solutions. That will leave you the most options going forward. There's no compelling advantage IMHO to using ASP.NET if there's a chance you may one day integrate with other systems or move to another system.
I think that most important thing is to choose the right server. The server needs to have adequate modules. Apache would be good choice as it supports all that you want, including mod_aspnet (which I didn't test, but many people say it works).
If you think asp.net integration is certanly going to come, I would choose Windows as OS as it will certanly be easier.
You could also install reverse proxy that would decide which server to render content based on request - if user request aspx page, proxy will connect to the IIS and windoze page, if it asks for php it can connect to other server. The problem with this approach is shared memory & state, which could be solved with carefull design to support this - like shared database holding all state information and model data....
OpenID doesn't make a difference - there are libs for any framework you choose.

Resources