Monday, April 25, 2011

Vikuit 0.8 ! Released !

We are happy to announce that the Vikuit 0.8 release is out! Looking forward to 1.0 release, we add some improvements, more focused on the admin console, such as:


• Now you can change the theme. Our friend Blutquell helped us with a new theme: cold plain theme. You can change between the two themes at the look & feel tab or create your own! If you are a one inspired creator, share it!

• You can choose your logo by admin console. You don’t need to change code.

• There is a new tab, Google stuff, where you can find all Google ‘s related configuration, such as Google’s analytics, adsense codes, etc

• The mail configuration has now a sender address and a configurable contact address

•  Some improvements (work in progress) to the layout and vikuitlet system

• A lot of bug fixes…

You can test the newer release at http://demo.vikuit.com or download it at http://www.vikuit.com/downloads.


Please, if you try it, left any feedback at http://code.google.com/p/vikuit/issues/list  and help us to improve it!

Friday, April 1, 2011

Backup and restore on the Google's App Engine

Google's Appengine is a fantastic deployment environment. Not only because it's affordable pricing, but because really makes the operations very, very easy. One big example is the backup / restore operations.

Google's Appengine relays all its data on the datastore, a big table. The datastore means all data, files, everything that can be stored. Do that, if we make a datastore's backup or a copy, we are going to be able to recreate the instance anywhere. This is very useful for backup/restore and for interchange data between environments like quality / testing / production servers.

In this post, we are going to show you how to make a backup and restore it. For that purpose we are going to need the bulk loader tool, included with our appengine's SDK.

The bulk loader tool uses the Google's Appengine remote API for access datastore remotely. For enabling this feature, we must enable the url in the app.yaml:

- url: /remote_api
script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
login: admin


Vikuit's code has this feature enabled by default. The next steps are really easy. If we want to download the data, we are going to use the follow the command:


[APP_ENGINE_SDK_FOLDER]>appcfg.py download_data --application=[APP_ID] --url=http://[APP_ID].appspot.com/remote_api --filename=data.exp


Where [APP_ENGINE_SDK_FOLDER] is your Google's Appengine SDK installation folder and [APP_ID] your application identifier.


If you run the command, the command will ask your email and password and later you will see something like that in your screen:

Downloading data records.
[INFO ] Logging to bulkloader-log-20110227.162029
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20110227.162029.sql3
[INFO ] Opening database: bulkloader-results-20110227.162029.sql3
[INFO ] Connecting to hsvoxpro.appspot.com/remote_api

Please enter login credentials for [YOUR APP]
Email: [YOUR EMAIL]
Password for [YOUR PASSWORD]
[INFO ] Downloading kinds: [u'Category', u'UserData', u'MailQueue', u'Group', u'Item', u'UserSubscription', u'Task',
u'Application', u'Follower', u'Tag', u'GroupItem', u'Vote', u'GroupUser', u'Event', u'ItemHtml']
.............[INFO ] Category: No descending index on __key__, performing serial download
[INFO ] UserSubscription: No descending index on __key__, performing serial download
[INFO ] Item: No descending index on __key__, performing serial download
[INFO ] Task: No descending index on __key__, performing serial download
[INFO ] Follower: No descending index on __key__, performing serial download
[INFO ] Tag: No descending index on __key__, performing serial download
...............
[INFO ] Have 195 entities, 0 previously transferred
[INFO ] 195 entities (400322 bytes) transferred in 24.0 seconds


Import the exported data to a datastore is easy too. The follow example shows you how to import the data in your SDK datastore:

[APP_ENGINE_SDK_FOLDER]>appcfg.py upload_data --filename=data.exp --url=http://localhost:8080/remote_api [APP_LOCAL_FOLDER]

Where [APP_ENGINE_SDK_FOLDER] is your Google's Appengine SDK installation folder and [APP_LOCAL_FOLDER] the folder that contains your Vikuit's installation.

If you run the command, you will see something like that in your screen:

Application: [YOUR APP]; version: 2.
Uploading data records.
[INFO ] Logging to bulkloader-log-20110227.163459
[INFO ] Throttling transfers:
[INFO ] Bandwidth: 250000 bytes/second
[INFO ] HTTP connections: 8/second
[INFO ] Entities inserted/fetched/modified: 20/second
[INFO ] Batch Size: 10
[INFO ] Opening database: bulkloader-progress-20110227.163459.sql3
Please enter login credentials for localhost
Email: [YOUR EMAIL]
[YOUR PASSWORD]
[INFO ] Connecting to localhost:8080/remote_api
[INFO ] Starting import; maximum 10 entities per post
....................
[INFO ] 195 entites total, 0 previously transferred
[INFO ] 195 entities (358347 bytes) transferred in 45.3 seconds
[INFO ] All entities successfully transferred


The bulk loader can be tuned easily.For a more detailed information about it, please check it the Google's page:

Sunday, February 6, 2011

Vikut 0.7 is here !

We are proud to announce a new release of Vikuit Social App Engine, our 0.7, codename agapito. This new release has all the basic features for building a community online, as:

  • Articles and news
  • English and spanish support
  • Groups
  • Google native authentication
  • Microbloging
  • Follow a user
  • Profile and profile comments
  • Comments
  • Photo gallery
  • Full search
  • User dashboard
  • Recent activity

From the developer side, Vikuit uses themes (based on jinja templates) and special modules, called Vikuitlets, that give us a very easy way to extend it.

Vikuit wants to own every feature for a social network engine while remains easy to deploy and manage. Buildover python and focused on the Google's Appengine, wants to fill the gap between SAAS platforms as Ning and on site deployments. Of course, taking advantage of the free hosting quotas from google's appengine and its so great pricing.

If you want to look at Vikuit's features, you can check our demo site .
If you want to download it, you can check our download's page.

Stay tuned on our site !