2
Dreamwares Recent Projects Our recent projects include: Online editor using Google App Engine + Python A famous VC from Australia wanted to build to build an online editor using Google App Engine(GAE) and Python. The desirable features included: 1. Create, edit documents online. 2. Share the documents / folders with friends. 3. Allow various kinds of sharing rights. 4. Maintaining various versions of the documents and being able to restore an earlier version. 5. Creating documents before logging in and saving after logging in. 6. Support Google account login as well as own registration. The entire application was built by our team and is almost completed now. Some of the key challenges that were overcome include: 1. The administrator wanted to be able to modify all the static files and images, header and footer from the backend. However, GAE does not allow the scripts to write on the file system. So one cannot create / edit a file through code in GAE. So a special architecture was created which solved this problem and allowed the administrator to upload, edit and delete all such files. 2. Client wanted to use TinyMCE as the editor and provide file and image managers so that users can insert existing documents and images in the new ones. Existing file and image managers of TinyMCE are designed to work with usual file systems, which does not exist in case of GAE. All the documents and images were stored in database. Also no such plugin was available for python. So we created special file and image managers for TinyMCE, in python, that could work with GAE datastore. Digital Content Management System using Amazon Web Services (PHP) A Rich Media Distribution company wanted to build a complete digital content management system for tour operators and distributors. The system would allow them to manage all their digital content, i.e. images, brochures, videos, from one place. They system would allow the users to: 1. Upload images, brochures and videos and manage them. 2. Create galleries using their as well other’s content. 3. Embed their galleries in their websites.

Dreamwares Recent Cloud Projects

Embed Size (px)

Citation preview

Page 1: Dreamwares Recent Cloud Projects

Dreamwares Recent Projects

Our recent projects include:

Online editor using Google App Engine + Python

A famous VC from Australia wanted to build to build an online editor using Google App

Engine(GAE) and Python. The desirable features included:

1. Create, edit documents online.

2. Share the documents / folders with friends.

3. Allow various kinds of sharing rights.

4. Maintaining various versions of the documents and being able to restore an earlier version.

5. Creating documents before logging in and saving after logging in.

6. Support Google account login as well as own registration.

The entire application was built by our team and is almost completed now. Some of the key challenges

that were overcome include:

1. The administrator wanted to be able to modify all the static files and images, header and

footer from the backend. However, GAE does not allow the scripts to write on the file

system. So one cannot create / edit a file through code in GAE. So a special architecture was

created which solved this problem and allowed the administrator to upload, edit and delete

all such files.

2. Client wanted to use TinyMCE as the editor and provide file and image managers so that

users can insert existing documents and images in the new ones. Existing file and image

managers of TinyMCE are designed to work with usual file systems, which does not exist in

case of GAE. All the documents and images were stored in database. Also no such plugin

was available for python. So we created special file and image managers for TinyMCE, in

python, that could work with GAE datastore.

Digital Content Management System using Amazon Web Services

(PHP)

A Rich Media Distribution company wanted to build a complete digital content management

system for tour operators and distributors. The system would allow them to manage all their digital

content, i.e. images, brochures, videos, from one place. They system would allow the users to:

1. Upload images, brochures and videos and manage them.

2. Create galleries using their as well other’s content.

3. Embed their galleries in their websites.

Page 2: Dreamwares Recent Cloud Projects

4. Manage their content from client portal as well as their own portal.

5. Geo-tag their content.

6. Add logos and watermarks to videos.

7. Customize the appearance of galleries, slideshows and video player.

8. Display their brochures as flip books.

This project presented some unique challenges which were overcome by us:

1. Users could upload videos upto 2 GB in size. Each video was converted to different forms for

preview, streaming and download. Since user cannot be kept engaged for so much time, all

the processing was done behind the scene. Queue was used for parallel processing. Strong

measures for taken to make the system robust.

2. The EC2 instance used for video processing was dynamically loaded and shut down when all

the processing was done. Since different uploads from different users were supposed to use

the same instance, the status of processing was shared between the instance and the

controlling server.

3. Users should be able to directly upload / download files from S3. However, unauthenticated

access to the same had to be prevented.

Bulk Processing on Microsoft Azure

One of our clients, who earlier owned an INC 500 company, came up with an innovative product

that offered us many challenges. Similar to the Digital Content Management system, this required lot of

background processing. However, this time the challenges were more related to Azure:

1. Some part of the background processing required using a Win32 native DLL. This is not

directly supported by Azure. After lot of efforts, we reached close to the solution but still

could not get it running due to lack of documentation in this regards. Finally some

developers from Microsoft guided us and we succeeded in getting this running.

2. Azure offers a storage called Blob to store big files. To store big files, we need to split the file

into chunks and upload in chunks. This is usually done by client applications installed on user

machines. But we needed to upload the files from the browser without any special software

installation (except flash). So we built a special system where the files were split into chunks

on the client system from within the browser and succeeded in uploading big files to blobs.

Salesforce & Force.com

We have the experience of customizing salesforce as per the needs of the customers. We arealso developing a Force.com app for an INC 5000 company. We have good experience in apex, visualforce, force.com IDE, integration of salesforce with other web services, data import / export, etc.