Posted by romasha 3 years 36 weeks ago

Plone, the Open Source Content Management System that is the fundament of Cyn.in, has been compared with Microsoft Sharepoint multiple times. An interesting comparison has been published recently by Franscesco Ciriaci, owner at Reflab and a Plone Evangelist, based on the compatibility of Plone and Sharepoint with different platforms and browsers.

Check out the Plone vs. Sharepoint 2007 comparison here:
http://francescociriaci.wordpress.com/2009/08/20/plone-vs-sharepoint-round-2-a-by-platform-feature-comparison/

This makes Cyn.in is leaps and bounds ahead of Sharepoint in terms of enterprise collaboration, because Cyn.in starts where Plone stops. While Plone is a generic web application platform, Cyn.in delivers an integrated, out-of-the-box collaboration suite for the Enterprises that has all the benefits of Plone and enables free form communication and collaboration with a strong focus on enterprise information security needs.

Views: 2,981, Comments: 0

Posted by dhiraj 3 years 48 weeks ago

A big part of being a cyn.in developer is being one with the fine art of building out... your buildout. Geek / Tech warning! This post is best read if you're a software developer interested in working with cyn.in (and / or plone) and are interested in improving your development productivity. Ok, that dire warning out of the way, let's get down to it, shall we? :)

I restate my assumptions:

  1. You downloaded the cyn.in source snapshot.
  2. You actually opened the README file and went through it.
  3. Figured out the dependencies and got through the buildout procedure
  4. OR you're starting off from the plone.org community and have got a plone buildout running (yes, this applies to you too!)
  5. You'd like to reduce the bandwidth / time it takes to build a buildout

So why does buildout take so long?

Well because cyn.in depends upon a whole lot of python eggs (and even a few old-style zope products) that are downloaded during buildout. The biggest of these is plone itself, because that depends upon more code than you'll ever end up going through (or at least that's what it looks like when you're starting out).

So how do we optimize our Internet usage? Well, several ways. Read on:

download-cache: This is most important to you if you build a lot of new buildouts from scratch. And when I say from scratch I mean on new operating system installs, or if you're into virtualization and appliance building then this one's for you! You can set this to a path outside your main buildout directory and instead of downloading directly from the Internet, buildout will first consult your download-cache directory to see if the file's already there. So while buildout will still spend time looking on the net for the correct version to download, for each egg, once it does figure out which one, it'll usually find the file already present in your cache. The idea of course is that your downoad-cache directory will be a network share somewhere that's mounted locally on a path, so you always have a pre-primed cache. You should have this setting in your own personal override config, (user.cfg in cyn.in buildout is a great example of this!). This is the minimal override that is usually required for per-buildout case, where you set up your personal settings, like port and network ip to bind to, the effective user to run under and so on. If you keep your download-cache setting in your main buildout.cfg then all developers will be forced to use or override it, which is not a good thing to do.

download-directory and eggs-directory:

Most developers should already be aware of this one. When developing you often have to recreate new buildouts repeatedly on the same computer with different filestates, typically in a multi-developer team where everyone's working on different branches in subversion and so on. For this kind of scenario, buildout provides these 2 settings to speeden things up, some. In buildout, packages can be marked to be on particular versions or they default to the latest (more on this in the newest=false setting). The idea with these 2 settings is that you should set them in your user-account-wide defaults file. Where? In linux, usually in your /home/username/.buildout/default.cfg folder.
/home/username/.buildout/default.cfg

That's:

  • /home is where your user homes are
  • /username is your's (just used cd ~ to land there, and then the pwd command will show you where it's at)
  • .buildout is a folder you create in it
  • default.cfg is a file that contians your defaults for buildout
In this default.cfg file you should put in these 2 lines:
download-directory = /location/to/where/you/want/all/downloads eggs-directory = /location/to/where/you/want/all/eggs
If you put these settings in the correct home folder location (and then go and actually create the target folder paths - buildout will error if they're not already present!) then buildout saves downloaded files in these locations as a default. The advantage to doing that account-wide for your user is that by default all buildouts will go there and re-use the files already present first. This is best used in combination with the below setting, newest=false. Note that the files here are used directly by every buildout made by your account. That's different from the download-cache where they're downloaded from. Why is this important? Well in the very, very, rare case that something in your normal download or egg directory is causing a problem, you can override it in your user.cfg override and fix the problem.

newest = false

This should be present by default in your main buildout.cfg itself. That way when any developer builds the buildout, it will by default only download the dependencies that are missing, if it finds matching dependencies already met, it will not go looking for a better one. This setting when combined with the above user-account default one is like magic, you can re-buildout any number of times after the first one, and do it without any Internet consumption at all! When you actually want buildout to look for better alternatives, then you simply add -n (that's small n, not capital. Capital N does the exact opposite, same as the setting above!) to your buildout command line and it will go hunting for the latest and the best.

So what's your buildout command line looking like now?

First time or force-check for newer dependencies is like this:

./bin/buildout -c user.cfg -n -vvvvv

And "normal" re-buildout is like this:

./bin/buildout -c user.cfg
The -c user.cfg part means that buildout should use user.cfg as configuration. user.cfg extends buildout.cfg, overriding just the personal settings that you want to change from default. -n tells buildout to go hunting for fresher eggs -vvvvv is a way of getting as much verbose log output as possible. More the v character's here the more the verbose the output. You want verbosity when you're doing it the first time - to diagnose error messages correctly, if they happen. In normal re-buildout you don't need these settings because you want the default, newest=false and verbosity is just pointless scroll. Hopefully that should speed up things some, especially if you're struggling. There are some more advanced techniques, of course, like ingeniweb's eggproxy product, which is the perfect way to create a fast, pass-through cached mirror of the PyPI on your LAN - that too only the eggs you need and re-use. But that's out of the scope of this post, perhaps some other time.

More?

If you want to read more about these sort of things then do let me know by adding your comments. If you have other tips to improve buildout efficiency then do put in the reference links or whatever else you can tell us about them, thanks!

Views: 1,844, Comments: 0

Posted by romasha 3 years 52 weeks ago

SourceForge Community Choice Awards

SourceForge has announced their 4th Annual Community Choice Awards and we need your help to nominate cyn.in.

Community Choice Awards is the largest global award celebrating great open source projects that are built with the highest quality, creativity and ingenuity. And YOU, the community, gets to choose which software gets nominated for the final awards - Power to the people!

If you have been using / evaluating cyn.in or have just landed on this page and really like what you see, please take a few moments and vote for us.
You can nominate cyn.in in any or all of the categories below:

  1. Best Commercial Open Source Project
  2. Best Project for the Enterprise
  3. Best New Project
  4. Best Project
  5. Most Likely to Change the Way You Do Everything
  6. Best Visual Design {also known as the "Swimsuit Competition" for the open source project with the best user interface}

Voting is simple, just click on the Nominate cyn.in link above and select the categories you would like to nominate cyn.in for and make your voice heard!

And don't forget to ask your friends to nominate cyn.in as well. Get the word out using your social networks, twitter, email, sms, phone, anything that is your favorite way to communicate with them and encourage them to cast their vote.

Nominations close on May 29th and finalists will be announced on the June 22nd.

Views: 2,317, Comments: 0

Posted by romasha 4 years 6 days ago

It is often tricky to justify tangible, monetary benefits of Enterprise 2.0 software to customers. Starting from the age of NNTP, IRC, Email, Enterprise forums and Bulletin boards - these technologies, all concentrate on Increasing collaboration and benefiting from the collective intelligence. How is E2.0 different?

The focus of Enterprise 2.0 software is on the user experience. Enterprise software is complex to use and that makes it suck. The most basic yet the biggest challenge is to persuade employees to use these tools in their daily work. Enterprise 2.0 software inventors are walking that last mile to make these tools more intuitive, facilitating interactions and conversations among people and their knowledge. How? Spend a few minutes to check out the presentation below - published by Oscar Berg & Henrik Gustaffson.

In a very succinct manner this presentation accurately explains what is Enterprise 2.0, it's importance in the Enterprise and how increased level of collaborative working among employees can benefit organizations.


Views: 1,253, Comments: 0

Posted by romasha 4 years 3 weeks ago

notepad

A comprehensive user guide has been published in the cyn.in community wiki for users to get started with using the collaboration software.

The User Guide sections include:

  1. Getting Started
  2. Anatomy of a cyn.in site
  3. Application views in cyn.in
  4. Adding / Editing applications in cyn.in

The user guide can be accessed here: http://cynin.wiki.sourceforge.net/cyn.in+User+Manual

Apart from the user guide, the community installation video tutorial is also added to the community wiki. Contributions to the cyn.in community documentation for the user and administration guides are welcome.

Views: 1,158, Comments: 0

Syndicate content