Cloud Computing
Cloud Computing
Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications.
Cloud computing allows consumers and businesses to use applications without installation and access their personal files
at any computer with internet access. This technology allows for much more efficient computing by centralizing storage,
memory, processing and bandwidth.
In its simplest form, cloud computing consists of shared computing resources that are virtualized and accessed as a
service, through an API. The cloud enables users in an organization to run applications by deploying them to the cloud, a
virtual datacenter. The physical resources may reside in a number of locations inside and outside of an organization: on
local hardware, in an enterprise data center, or at remote or managed service providers on a pay-to-use basis. Cloud
computing resources are offered as a service on an as-needed basis, and delivered by IP-based connectivity, providing
highly scalable, reliable on-demand services with agile management capabilities.
Page 1 of 117
E-Gov Stack for Public/Private Clouds
➢ Reduced Cost
Cloud technology is paid incrementally, saving organizations money.
➢ Increased Storage
Organizations can store more data than on private computer systems.
➢ Highly Automated
No longer do IT personnel need to worry about keeping software up to date.
➢ Flexibility
Cloud computing offers much more flexibility than past computing methods.
➢ More Mobility
Employees can access information wherever they are, rather than having to remain at their desks.
Service Model of the Cloud Computing (Taken from the “An ISACA Emerging Technology White Paper” )
• Availability
• Confidentiality
• Privacy and legal liability in the event of a security breach (as databases housing sensitive information will now be
hosted offsite)
• Data ownership
• Concerns around e-discovery
Capability to use the provider’s applications running on cloud infrastructure. The applications are accessible from various
client devices through a thin client interface such as a web browser (e.g., web-based e-mail).
Page 2 of 117
E-Gov Stack for Public/Private Clouds
Types of SaaS
Business Utility SaaS - Applications like Salesforce automation are used by businesses and individuals for managing and
collecting data, streamlining collaborative processes and providing actionable analysis. Most popular uses are respectively:
Customer Relationship Management (CRM), Human Resources and Accounting.
Social Networking SaaS - Applications like Facebook are used by individuals for networking and sharing information,
photos, videos, etc.
Types of PaaS
Not all Platform-as-a-Service (PaaS) solutions are created equal. Choose the platform which suits your needs carefully:
Social Application Platforms - Platforms like Facebook provide APIs so third parties can write new application
functionality that is made available to all users.
Computing Platforms - Platforms like Amazon Web services, Rackspace, Opsource and others provide storage, processor,
and bandwidth as a service. As a developer you can upload traditional software stack and run applications on their
computing infrastructure.
Web Application Platforms – Google Apps provide APIs and functionality for developers to build Web applications that
leverage its mapping, calendar, and spreadsheets plus YouTube and other services. More ideal for light weight web
applications!
Business Application Platforms - Platforms like WOLF provide a higher layer of abstraction from technical complexities
and is specifically geared toward transactional business applications such as database, integration, workflow, and user
interface services. Developers & business analyst can develop complex and robust business applications and also create
customized user interface – providing higher freedom with lesser efforts.
Types of IaaS
There are also different types of cloud IaaS providers, depending on what you looking for:
Page 3 of 117
E-Gov Stack for Public/Private Clouds
Private cloud.
The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and
may exist on premise or off premise.
Community cloud.
The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns
(e.g., mission, security requirements, policy, and compliance considerations).
Public cloud.
The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization
selling cloud services.
Hybrid cloud.
The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique
entities but are bound together by standardized or proprietary technology that enables data and application portability
(e.g., cloud bursting).
The comparsion can be depicted better by the following Diagram
(taken from : http://www.rationalsurvivability.com/blog/?p=743)
Page 4 of 117
E-Gov Stack for Public/Private Clouds
According to CIO In particular, it listed three deployment models for cloud computing:
1. Public clouds. These deliver the best economies of scale, but their shared infrastructure model can limit
configuration, security, and SLA specificity, making them a less-than-ideal fit for services using sensitive data that
is subject to compliancy or safe harbor regulations.
2. Internal clouds. These sit within your data center and behind company-built protections, but they typically have
modest economies of scale due to funding limitations and tend to be less automated.
3. Hosted clouds. Hosted clouds run at a service provider on resources that are walled off with enterprise-class
protections but managed as a pool. These fall between the first two options, providing more custom protections
like an internal cloud but with the greater economies of scale of being a service from a cloud provider.
Outcome : taken into the above Deployment models it is decided to go for the Private Cloud as in Government offices
data security is more important and it is not possible to rely on the third parties for that.
Page 5 of 117
E-Gov Stack for Public/Private Clouds
Cost is claimed to be greatly reduced and capital expenditure is converted to operational expenditure.This ostensibly
lowers barriers to entry, as infrastructure is typically provided by a third-party and does not need to be purchased for one-
time or infrequent intensive computing tasks. Pricing on a utility computing basis is fine-grained with usage-based options
and fewer IT skills are required for implementation (in-house).
Device and location independenceenable users to access systems using a web browser regardless of their location or
what device they are using (e.g., PC, mobile). As infrastructure is off-site (typically provided by a third-party) and
accessed via the Internet, users can connect from anywhere.
Multi-tenancy enables sharing of resources and costs across a large pool of users thus allowing for:
Centralization of infrastructure in locations with lower costs (such as real estate, electricity, etc.)
Peak-load capacity increases (users need not engineer for highest possible load-levels)
Utilization and efficiency improvements for systems that are often only 10–20% utilized.
Reliability is improved if multiple redundant sites are used, which makes well designed cloud computing suitable
for business continuity and disaster recovery.Nonetheless, many major cloud computing services have suffered outages,
and IT and business managers can at times do little when they are affected.
Scalability via dynamic ("on-demand") provisioning of resources on a fine-grained, self-service basis near real-time,
without users having to engineer for peak loads.Performance is monitored, and consistent and loosely coupled
architectures are constructed using web services as the system interface.One of the most important new methods for
overcoming performance bottlenecks for a large class of applications is data parallel programming on a distributed data
grid.
Security could improve due to centralization of data,increased security-focused resources, etc., but concerns can persist
about loss of control over certain sensitive data, and the lack of security for stored kernels.Security is often as good as or
better than under traditional systems, in part because providers are able to devote resources to solving security issues
that many customers cannot afford.Providers typically log accesses, but accessing the audit logs themselves can be
difficult or impossible. Furthermore, the complexity of security is greatly increased when data is distributed over a wider
area and / or number of devices.
Maintenance cloud computing applications are easier to maintain, since they don't have to be installed on each user's
computer. They are easier to support and to improve since the changes reach the clients instantly.
Metering cloud computing resources usage should be measurable and should be metered per client and application on
daily, weekly, monthly, and yearly basis.
Open Source Softwares available for the Cloud Deployment are following
Eucalyptus
Eculyptus is an acronym for Elastic Utility Computing Architecture Linking Your Programs To Useful Systems, an open-
source software infrastructure for implementing “cloud computing” on clusters. The current interface to Eucalyptus is
compatible with Amazon’s EC2, S3, and EBS interfaces, but the infrastructure is designed to support multiple client-side
interfaces. Eucalyptus is implemented using commonly available Linux tools and basic Web-service technologies making it
easy to install and maintain. Eucalyptus Systems provides consulting, training and support services.
OpenNebula
This is perhaps the most interesting and most relevant project of the list for cloud computing, billing itself as the open
source tool kit for cloud computing. OpenNebula is a tool that can be used to build any type of Cloud deployment and
manage virtual infrastructure in a data-center or cluster or to combine local infrastructure with public cloud-based
infrastructure, for highly scalable hosting environments. OpenNebula also supports public clouds by providing cloud
interfaces to expose its functionality for virtual machine, storage and network management.
Page 6 of 117
E-Gov Stack for Public/Private Clouds
OpenQRM
While OpenQRM is not a tool for public clouds It is geared towards people delivering private virtual clusters or cloud
capabilities. openQRM is a single-management console for the complete IT infrastructure and provides a well defined API
which can be used to integrate third-party tools as additional plugins. What’s really interesting about OpenQRM is that it
can suck up physical installations, create an image, write that image to a SAN and then run the virtual instances on
demand. I think the opportunity for OpenQRM is to be able to suck those images up and then spit them out to cloud
computing resources like EC2, RightScale or Rackspace Cloud.
Outcome : Eucalyptus being easy to deploy and EC2 Compliment it is better then both of other options.
Traditionally, applications in E-Governance work for department states and municipalities and hence take more time,
effort, resources and budget. This happens for all the instances of these applications. Capabilities must exist to replicate
these to include another municipality or e-court as part of E- Governance. Cloud architectures offer excellent features to
create an instance of application for rolling out a new municipality. Cloud can reduce the time to deploy new application
instances.
Disaster Recovery
Natural disasters like floods, earthquakes, wars and internal disturbances could cause the E-Governance applications not
only loose data, but also make services unavailable. Multiple installations in geographically separated locations with
complete backup and recovery solutions must exist. This could create huge problems. Disaster recovery procedures must
be in place and practiced from time to time. Applications and data must be redundant and should be available on a short
notice to switch from one data center to center.
Cloud virtualization technologies allow backups and restoring. It offers application migration seamlessly compared to
traditional data center.
The architecture and technology adopted for the E-Governance initiatives should be scalable and common across delivery
channels .It is required to meet growing numbers and demands of citizens. If implemented, the E-Governance portals
could become the biggest users and beneficiaries of Information Technology. With cloud architectures, scalability is
inbuilt. Typically, E-Governance applications can be scaled vertically by moving to a more powerful machine that can offer
more memory, CPU, storage. A simpler solution is to cluster the applications and scale horizontally by adding resources.
Page 7 of 117
E-Gov Stack for Public/Private Clouds
Data center usage (CPU, storage, network etc), peak loads, consumption levels, power usage along with time are some of
the factors that needs to be monitored and reported for better utilization of resources. It minimizes costs and plan well.
Profiling data enables better visibility into various services provided by the government. Cloud offers better Business
Intelligence infrastructure compared to traditional ones because of its sheer size and capabilities. Cloud computing offers
seamless integration with frameworks like MapReduce (Apache Hadoop) that fit well in cloud architectures. Applications
can mine huge volumes of real time and historic data to make better decisions to offer better services.
Policy management
E-Governance applications have to adhere and implement policies of the governments in terms of dealing with citizens.
Along with the infrastructure and data center policies has to be enforced for day to day operations. Cloud architectures
help a great deal in implementing policies in data center. Policies with respect to security, application deployment etc
can be formalized and enforced in the data center.
Systems Integration and Legacy Software
Not only the applications that are already deployed and providing services are to be moved to the cloud, but also
integrate with applications deployed in the cloud. The power of Information Technology comes in co-relating the data
across applications and pass messages across different systems to provide faster services to the end users. Cloud is built
on SOA principles and can offer excellent solutions for integration of various applications. Also, applications can be
seamlessly easily moved into cloud.
Technology migration is the biggest challenge. Moving to different versions of software, applying application and security
patches is the key to maintaining a secure data center for E-Governance.
Cloud architecture efficiently enables these kinds of requirements, by co-existing and co-locating existing different
versions and releases of the software at the same time. Once these applications are tested, they can be migrated into
production with ease.
Going green
More emphasis is laid out today in terms of the amount of pollution the data centers can create. The power usage, air
electronic waste could create bio-hazard.This could be one of the reasons for moving to cloud architecture for
governance. Instead of duplicating these facilities, with cloud, one can offer centralized infrastructure that can be
efficiently used to minimize pollution.
Page 8 of 117
E-Gov Stack for Public/Private Clouds
There is a great need of a CMS in a government office , because a lot of information about the department and its working
is need to be published by the department so , that general public do not face any difficulty in accessing the information.
Content management system allow the Government offices to have better interoperability of their data.
“If you are publishing a lot of content from a number of authors, you should seriously consider a content
management system (CMS). A quality CMS can help you streamline your publishing processes. It can allow you to
develop an information architecture that is robust, yet flexible. It can allow you to manage your content efficiently
and cost-effectively.”
Their are several other benefits of having the Content Management System , some of them are namely :
1.A Content Management System allows the editor to interact with the site in several ways. The CMS provides a graphical
user interface that allows the editor to create content, add images and multimedia files, create content schedules, and
much more.
2.Decentralized maintenance.
Based on a common web browser. Editing anywhere, anytime removes bottlenecks.
Designed with non-technical content authors in mind.People with average knowledge of word processing can create the
content directly. No HTML knowledge needed.
7.Dynamic content.
Extensions like forums, polls, shopping applications, searching, news management are typically modules.
8.Cooperation.
Encourages faster updates, generates accountability for authored content (logs) and cooperation between authors.
9.Content scheduling.
Content publication can often be time-controlled, hidden for later use or require user login with password.
10.categorisation to improve searching and to allow information to be targeted at users according to their interests
11.enabling organisations to personalise the user experience
12.internationalisation to ensure the appropriate presentation of information on sites spanning economical, political and
cultural borders
Page 9 of 117
E-Gov Stack for Public/Private Clouds
15.simplified application integration through the use of shared code, delivered via templates, that also enables up-front
integration costs to be spread across many web site application implementations.
1 Vendor independence
In a recent survey by Computer Economics, users named vendor independence as their prime reason for choosing OSS. As
the source code is available under public use licences with few restrictions, users aren’t locked into vendors, developers,
IT partners or costly software upgrade cycles. OSS gives users genuine freedom of choice and more control over their IT
environments.
2 Lower TCO
Lower Cost is the second reason why many organisations choose Open Source Software. With no licence cost in most cases,
OSS starts with a clear advantage over proprietary software and this has lasting impact on the Total Cost of Ownership
(TCO). The adoption of Open Standards can also yield cost benefits; for example, the Dutch government expects to save
$8,000,000 a year just by adopting the Open Document Format (ODF), which facilitates document
exchangehttp://www.msnbc.msn.com/id/22245923/.
3 Better Fit
Open Source also gives customers the freedom to customise or enhance the code to suit their exact needs. This flexibility
is of real value to oganisations with special needs that can’t be met using standard software. Many enhancements to Open
Source applications have been contributed by customers or their integrators.
4 Tighter security
Open Source Software suffers fewer attacks than the large base of proprietary software, which most malware writers are
targeting. Since Open Source code is widely published, many eyes in the OSS network see the code, and potential
exposures are spotted and fixed rapidly. That makes OSS inherently more secure than proprietary software.
5 Greater Scalability
Since Open Source Software is hardware-independent by design, applications are highly scalable. A prime example is
Linux, which was designed to run on PCs yet is now employed on both business servers and supercomputers. With OSS,
scalability is assured and IT systems won’t be a barrier to business growth.
6 Easier collaboration
Collaboration was the catalyst for creating OSS and is still one of its key benefits. With no licence restrictions creating
major obstacles, collaboration between business partners in the vibrant OSS network is easy, expected and encouraged.
Page 10 of 117
E-Gov Stack for Public/Private Clouds
7 Free Exchange
Open source code is designed for others to use, so it is written with modular components that can be easily interchanged.
This modular approach fosters wider exchange, provides greater flexibility and enables easier migration to new hardware
or operating environments.
8 Open Standards
The Open Systems Initiative publishes, updates and monitors open standards and protocols, from networking to document
formats. Open Source Software must comply with published Open Standards so that disparate systems can readily
exchange vital information.
9 More Innovation
Free collaboration in a network of talented developers has fostered innovation and close, productive relationships with
leading software vendors. The internet is built on Open Source technology, as are Linux, Mozilla FireFox and Apache Web
Servers (half the web servers around the world run Apache). Its robust performance has made OSS the preferred software
for the world’s financial markets and most of its supercomputers.
10 Confidence in numbers
Education and government were the early adopters of Open Source Software. As OSS has matured and grown more
feature-rich, commercial organizations have also embraced it. Large corporations like Renault, ABN Amro and UPS have
replaced major proprietary systems with Open Source Software. Open Source has truly reached maturity.
There are various Open source CMS available theses days namely , Drupal , Joomla , Typo3 , DjangoCMS among others.Of
these only Joomla and Drupal are most widely used and thats why we are only comparing them :
Joomla
Thumbs up:
• Easy deployment
• More intuitive administration user interface
• Editing content is simple
• Lots of polished modules for things like calendars, polls, etc.
• Easy addition of modules
• Versioning is available
• Large community of developers (more than Drupal) for helping with setup and development
• Multi-lingual
Page 11 of 117
E-Gov Stack for Public/Private Clouds
Thumbs down:
• Easy deployment
• Editing tabs integrated into actual pages
• Editing content is simple as well
• Very flexible in its configuration
• Modules are plentiful, free, and suitable for non-profits
• Versioning is available
• Many high profile sites use Drupal (e.g.: MTV UK, BBC, the Onion, Nasa, Greenpeace UK, Kleercut )
• Multiple levels of categories allowed along with easily integrated tagging system
• Human readable URLs which are search engine friendly
• 1 installation allows you to create and manage mulitiple websites (very handy when creating campaign sites)
• Highly configurable user permissions handling
Thumbs down:
• Administration area is clunky, but it's getting better with each version
• Terminology in the administration can be cryptic
• Adding a visual theme to Drupal can be time consuming
• Support for the free modules can be frustrating
Page 12 of 117
E-Gov Stack for Public/Private Clouds
Code : The code Modification for this has been included in the Accompanying CD .
Once the LDAP Integration module (also referred to as ldapauth module) is installed, it's time to enable the module and
configure it.
Page 13 of 117
E-Gov Stack for Public/Private Clouds
Server Settings
• Name: Name of the LDAP Configuration. It must be unique
• LDAP Server: Hostname of the LDAP Server. For e.g. ldap.example.com For Active Directory, this would be the
hostname of the AD domain controller. If you have multiple domain controllers, then common practice is to
create a DNS Round Robin entry for all of the domain controllers and use that entry (dc.example.com).
• LDAP Port: Standard LDAP ports are 389 and 636. 389 is the standard non-secure port where communications
occur in cleartext (analogous to HTTP Port 80). 636 is the standard encrypted LDAP port (analogous to HTTP Port
443).
• Use TLS Encryption: Often required for Active Directory lookups. For encrypted communications, select this
option. (TLS is the new name for SSL, so if your LDAP server requires "SSL", then you must check this box )
• Store passwords in encrypted form: This option is used by the optional ldapdata module, which allows for
changing of passwords using Drupal. Using this option will cause the LDAP data module to perform MD5 encryption
of the passwords before they are sent to LDAP. If your LDAP server natively performs encryption, then it could
cause problems.
Login Procedure
• Do not store users' passwords during sessions: If you are going to use the ldapdata module and allow users to
modify their LDAP entries, this module will need to store the user password during the session, so that it can have
write access to the LDAP directory.
Physically, these passwords are stored in the Drupal's session table in clear text. If the database is well protected,
this should not be a problem, but some admins may feel uneasy about this.
If you are not going to use the ldapdata module, or you are, but only for read-only access, you can safely check
this box and get extra security for your system.
• When logging in, Drupal will look up for the user in:
• Drupal's own database. If it fails, look in LDAP: Self-explanatory
• LDAP Directory only: Selecting this option will cause ONLY LDAP accounts to be authenticated and
registered, except for the initial admin user (user with uid=1). Drupal's core administration relies on this
user, so this user is NEVER authenticated with any database other than the local drupal database
• Base DNs: In the text area below, enter the base dn to search against when authenticating LDAP users. You can
enter multiple DNs, one per line. PHP LDAP performs SUB scope searches by design. So if all of your users
are organized under several sub-containers under say for e.g., cn=Users,dc=example,dc=org, then you only need
to enter 1 base dn, cn=Users, dc=example, dc=com
For OpenLDAP etc, an example would be ou=People,dc=example,dc=com
For Active Directory, an example would be cn=Users,dc=example,dc=com
• Username Attribute: The attribute in the user's object representing the username.
For Active Directory, it is sAMAccountName and for most Unix LDAP environments, it is uid
Advanced Configuration
The process of authentication starts by establishing an anonymous connection to the LDAP directory and looking for the
user on it. Once this user is found, LDAP authentication is performed on them.
However, some LDAP configurations (especially common in Active Directory setups) restrict anonymous searches.
If your LDAP setup does not allow anonymous searches, or these are restricted in such a way that login names for users
Page 14 of 117
E-Gov Stack for Public/Private Clouds
cannot be retrieved as a result of them, then you have to specify here a DN//password pair that will be used for these
searches.
For security reasons, this pair should belong to an LDAP account with stripped down permissions. Most LDAP and Active
Directories do not allow anonymous binds
• DN for non-anonymous searches: Enter the BINDDN of the account used to bind to the LDAP directory, e.g.
CN=drupalread,OU=Service Accounts,OU=People,DC=example,DC=com
• Password for non-anonymous searches: Enter the BIND password. Note: This password is stored in cleartext in
the Drupal database so you must take steps to protect the database
Save the Configuration
Save the configuration and you will be re-directed to the LDAP Integration configuration list page. You can have multiple
LDAP servers configured and individually active and de-activate them. Deactivating a config will prevent it from being
used by any of the LDAP modules.
NOTE: The LDAP Servers will be consulted in the order they are listed. They are listed in the order they are created.
Future releases will include an option to re-order them for authentication.
The search module lets users search for specific content on your site. You can search both for users and for particular
words. When you are on the "content" tab of Search, you will be able to search for words appearing in the default
rendering of node content on your site, which would include the default rendering of any CCK fields, Location fields,
Taxonomy, etc., as well as comments. When you are on the "users" tab of Search, you will be able to search the user
names of registered users on your site, and if you have sufficient permissions, also their email addresses.
In Content search, if you enter more than one search term the search module will look for content that has all the terms
you've entered. If instead you want either one term or another, join your terms with "or." If you're looking for an exact
phrase, enclose it in quotation marks.
With Advanced Search you can also look for "any of these words" or "this phrase," or both, you can rule out words you don't
want, and you can choose content types within which to confine your search.
You can enable the search module on the modules page (administer >> modules in Drupal 7; administer >> site building >>
modules in earlier versions of Drupal).
Note that by default, content search only finds exact matches for the keywords in your content. You can install a
contributed stemming or n-gram module to modify this behavior.
Indexing
Drupal's search engine indexes the text content of the nodes on your site. You can tweak the way it does this.
The search engine does its indexing at intervals you choose by setting "cron runs." Cron (which stands for chronograph) is
not a part of Drupal. It's a scheduler that resides on your server and runs tasks (called "cron jobs") at intervals, which you
specify. The jobs can run weekly, daily, hourly, or whatever you like.
What you want to do is schedule a "cron job" that has a browser on your server regularly visit your "cron page." For
instance, if your site were www.example.com your cron page would be http://www.example.com/cron.php in Drupal 6
and earlier versions; in Drupal 7, you need to visit the Status Report to find the exact URL to use on your site for
external runs of cron, because there is a suffix on the URL.
Whenever a visit to the cron URL occurs, the search engine will take up the work of indexing. You need to set up those
cron runs before your search engine will work.
For a modest personal site to which you post now and then, you might set up such a cron job to run once a day. For a more
active site you'd likely want to run that job more often--perhaps every few hours or every hour.
With Linux or Unix you can schedule your cron jobs by setting up what's called a "crontab." (You might rely on helper
programs like C-Panel to make setting up your cron jobs easier.)
Page 15 of 117
E-Gov Stack for Public/Private Clouds
On your settings page for Search (administer >> site configuration >> search settings in Drupal 6, or administer >>
configuration >> search and metadata >> search settings in Drupal 7) you can limit how many items should be indexed in a
single cron run. This can help keep your system from getting overloaded with work. (If you get a message that cron is
timing out or PHP is running out of memory, lower the number of items to index per run.) You also have a few more search
settings you can choose.
Reindexing content
Content-related actions on your site (creating, editing, or deleting content and comments) automatically cause affected
content items to be marked for indexing or reindexing at the next cron run. When content is marked for reindexing, the
previous content remains in the index until cron runs, at which time it is replaced by the new content.
Unlike content-related actions, actions related to the structure of your site do not cause affected content to be marked
for reindexing. Examples of structure-related actions that affect content include deleting or editing taxonomy terms,
enabling or disabling modules that add text to content (such as Taxonomy, Comment, and field-providing modules), and
modifying the fields or display parameters of your content types. If you take one of these actions and you want to ensure
that the search index is updated to reflect your changed site structure, you can mark all content for reindexing by clicking
the "Re-index site" button on the Search settings page (administer >> site configuration >> search settings in Drupal 6, or
administer >> configuration >> search and metadata >> search settings in Drupal 7).
Accessing Search
If both the search module and the menu module are enabled, from the menus page (administer >> menus) you can enable
on the Navigation Menu the item Search. The option to show this menu item may be disabled by default, but you can
enable it. (And you can rename "Search" to whatever you wish.)
You can also place a link to Search among your site's primary and secondary links, or on any other menu as well. (Click
"add menu item," and when you fill in the "path" field on the dialogue page just enter "search.")
On your blocks page (administer >> site building >> blocks in Drupal 6, and administer >> structure >> blocks in Drupal 7)
there's also a Search form you can enable, and you can choose where you want it to display.
On your permissions page (administer >> user management >> permissions in Drupal 6, or People >> Permissions in Drupal
7) you can decide who can do searches and who can administer the search settings. By default, anonymous users cannot
perform searches.
A technical note: To use the search module the database user needs the create temporary table permission. If you seem
not to have it, ask your systems administrator to make sure it's granted to you.
3.Better Navigation.
This module creates a menu bar that is displayed at the top of every page. The menu bar is fixed in place and uses jQuery
to position the bar, along with handling menu effects and adding IE compatibility.
Very useful for themes that don't have a good place to put the navigation menu (although it can be used with any menu.)
4.Google Integration
5.Better Google Searching
This module provides a checklist of good (Search Engine Optimization) best practices. Maximize the presence of your
Drupal website in the major search engines like Google, Yahoo, Bing, etc. It provides a checklist that helps you keep track
of what needs to be done. First, it will look to see what modules you already have installed. Then, all you have to do is go
down the list of unchecked items and do them. When all the items are checked, you're done!
Some have asked me why this is a module instead of just a list on a website somewhere and that's a fair question. The
reason is that many Drupal developers (coders, designer, etc.) work on many sites at the same time. It can be difficult to
keep up with everything you've done on each site. Many will take over a site that they didn't build and it's time-consuming
Page 16 of 117
E-Gov Stack for Public/Private Clouds
to go through and figure out what's been done. So, with this module, all you have to do is use the checklist and you know
exactly what was done. Further, it places a date stamp next to each item as you complete it so now you have a complete
record that you can show clients or refer to in the future. It's more than just a list of stuff to do - it's a powerful
organization tool, as well.
Allows to use client-side editors to edit content. It simplifies the installation and integration of the editor of your choice.
This module replaces all other editor integration modules. No other Drupal module is required.
Wysiwyg module is capable to support any kind of client-side editor. It can be a HTML-editor (a.k.a. WYSIWYG), a pseudo-
editor (buttons to insert markup into a textarea), or even Flash-based applications. The editor library needs to be
downloaded separately. Various editors are supported (see below).
Wysiwyg module also provides an abstraction layer for other Drupal modules to integrate with any editor. This means that
other Drupal modules can expose content-editing functionality, regardless of which editor you have installed.
Nitobe is a fixed-width, content-first theme based on the 960 Grid System. It supports two or three column layouts in
several configurations and a header image area that can be set to a fixed image or selected at random. In addition to the
column region, a four region area spanning the width of the layout is provided between the content and footer regions.
The theme includes a default favicon, a custom maintenance page, a default user icon, and a variety of sample header
images (940 x 118 pixels).
All default Drupal theme features are available. Nitobe also provides a default theme logo, default favicon, and a default
user picture. Additionally, these features are offered:
• Content-first two and three-column layouts are supported. Up to two sidebars may be used, and sidebars may be
placed on either side of the content region, both to the right of the content region, or both to the left of the
content region. Regardless of sidebar positioning, the content area appears before the sidebars in the code,
increasing accessibility and search engine performance.
• You may choose which masthead image(s) appear at the top of the page by either choosing to display a random
header image or a specific fixed header image. A number of sample images are provided. The theme will use a
sub-theme's header images if they are present.
• Page headers are semantic. When viewing the front page, the site title is the H1 element, but on a node page,
the page title is the H1 element, and the site title is a SPAN element.
• Site title color effect. By default, inter-word spacing is removed in the site title, and every other word is given an
alternate color. This effect can be disabled in the theme's settings.
• Comments made by a node's author are provided distinct CSS classes in order to clearly differentiate them from
other comments.
• The theme has the option to strip "not verified" from the names of commenters who are not logged in. By default,
Drupal adds " (not verified)" to the name of a commenter who leaves a name but is not logged into the site. This
can be turned off in Nitobe's theme settings. Comments by verified authors are given a CSS class ("commenter-
logged-in") indicating they are logged in regardless of this setting.
• The default number of items in the pager control can be set form 3 to 10. Setting a small number here is useful
when using a three column layout.
Page 17 of 117
E-Gov Stack for Public/Private Clouds
Also for this we will go for the Open source based solution and that will be customized to meet the need of the Indian
Governemnt Offices.
Outcome : Among these Group-office is best and it also offers also best in class features.
Customization :
As far as customization is concerned it doesnot need much customization except the Single Sign On Integration.
Page 18 of 117
E-Gov Stack for Public/Private Clouds
E-mail
The flexible e-mail module integrates in all other modules. You can access your e-mail everywhere in the world. With the
templates you can create professional signatures and send newsletters to keep your customers up-to-date with your latest
news!
CRM
Keep in touch with your prospects and customers in an easy way. The addressbook keeps track of all the customers related
notes, e-mail, files etc. With the ticket system you will be reminded of important events so you will never forget a
customer.
Files
The filesystem module is used to store your personal files online and share them if you want with co-workers or clients.
You can easily edit files locally and they will be transfered back to your online disk automatically. You can upload files or
even entire folders easily with the Java upload program.
You can also create corporate templates for text documents or any other kind.
Projects
With the projects module you can easily register working hours and keep all related information of a project in one place.
You can link files, contacts, e-mails etc. to a project.
Synchronization
Take your office on the road with the Group-Office SyncML and ActiveSync server. Group-Office can synchronize
appointments, tasks and contacts with various mobile phones, PDA's and Microsoft Outlook.
LDAP authentication
Group-Office 3.01-stable-29 and up can use an LDAP server for authentication. It can also be used in conjunction with the
imapauth module so it can automatically create an e-mail account for the user.
To setup LDAP authentication you need to install the "ldapauth" module and add the following configuration parameters to
the config.php file:
$config['ldap_host']='localhost';
$config['ldap_port']='389';
$config['ldap_user']='admin';
$config['ldap_pass']='admin';
$config['ldap_basedn']='dc=intermeshdev,dc=nl';
$config['ldap_peopledn']='ou=People,dc=intermeshdev,dc=nl';
$config['ldap_groupsdn']='ou=Groups,dc=intermeshdev,dc=nl';
Page 19 of 117
E-Gov Stack for Public/Private Clouds
$config['ldap_tls']=false;
Group-Office will use the following mapping (Only uid, givenname, sn and mail are required at the LDAP server):
'username' => 'uid'
'first_name' => 'givenname'
'middle_name' => 'middlename'
'last_name' => 'sn'
'initials' => 'initials'
'title' => 'title'
'sex' => 'gender'
'birthday' => 'birthday'
'email' => 'mail'
'company' => 'o'
'department' => 'ou'
'function' => 'businessrole'
'home_phone' => 'homephone'
'work_phone' => 'telephonenumber'
'fax' => 'homefacsimiletelephonenumber'
'cellular' => 'mobile'
'country' => 'homecountryname'
'state' => 'homestate'
'city' => 'homelocalityname'
'zip' => 'homepostalcode'
'address' => 'homepostaladdress'
'homepage' => 'homeurl'
'work_address'=> 'postaladdress'
'work_zip' => 'postalcode'
'work_country'=> 'c'
'work_state' => 'st'
'work_city' => 'l'
'work_fax' => 'facsimiletelephonenumber'
'currency' => 'gocurrency'
'max_rows_list' => 'gomaxrowslist'
'timezone' => 'gotimezone'
'start_module'=> 'gostartmodule'
'theme' => 'gotheme'
'language' => 'golanguage'
Page 20 of 117
E-Gov Stack for Public/Private Clouds
Blog
Every Government offices has to come up with some notifications as well as Some newsletters these can come through the
Blog , which act as place for the interaction between the General Public and the Government offices and this depreciated
the condition of chaos between the Employees.
b2Evolution
bBlog
BLOG:CMS
Blojsom
Blosxom
Expression Engine
MovableType
Nucleus
Pivot
pMachine Pro
Serendipity
SPIP
.Text
TextPattern
WordPress
Outcome : Off these many available solutions , the Wordpress is selected because of the following reasons :
Page 21 of 117
E-Gov Stack for Public/Private Clouds
✔ Human-posted spam has been on the rise for some time. Low-paid workers are hired by “SEO” firms to post
comments on blogs and forums, advertising their clients’ web sites (typically small local businesses). The workers
generally operate out of internet cafes and universities, particularly in India, South-East Asia, and Turkey. The
quality of comments varies, with the best written spam usually coming from SE Asia. There are now sophisticated
marketplaces set up specifically for hiring manual workers to do this kind of spam.
✔ Good old-fashioned pill, porn and malware spam continues to center around Eastern Europe and the Russian
Federation. They have well established willing hosts in the Netherlands, Latvia, Russia, Germany, and the USA,
and hacked servers elsewhere.
✔ Several Eastern European spammers control large ranges of IP addresses. One in particular has dozens of /22 and
/21 networks. These are rented out to spammers as a distributed proxy network, or in some cases sold as a
hosted spambot service.
✔ Chinese wholesaler spam is becoming more frequent and organized. In addition to the usual comments and
forum posts advertising counterfeit fashion and miscellaneous goods, the spammers are now creating networks of
fake blogs and web sites on free hosts including Blogspot.com, Weebly.com, Tumblr.com, Ning.com, and
WordPress.com.
✔ Other spammers are abusing proxies at ISPs and universities, and national censoring proxies such as those in
Saudi Arabia and Singapore. They do this to mix their spam with legitimate traffic and thus make IP blacklisting
impossible. (Akismet, of course, is not a blacklist).
✔ Autoblog pingback spam is now so bad that many blogs are refusing to accept any pingbacks at all. There’s no
single source or group behind this – rather, gullible people are following “make money on the internet”
instructions that recommend creating fake blogs on discount shared hosts and running ads. They use packages of
WordPress plugins that copy content from other blogs or article publishing sites, and send pingbacks to many
blogs try to get backlinks and traffic. There are large numbers of people doing this, and most of them have many
such blogs. Needless to say it doesn’t work — the only people who make any money from autoblogs are the ones
who sell the “make money on the internet” scams.
✔ Some well-meaning but careless bloggers are unwittingly annoying other blogs with large numbers of pingbacks.
They’re using plugins that add “related links” sections to each post, with an automatically generated list of links
to posts on other blogs, and send a pingback to each of them. Unfortunately the plugins usually do a poor job of
selecting relevant links, and the recipients of those pingbacks often regard them as spam (which is not
unreasonable as the pingback is often totally unrelated, and autoblog spammers use the same plugins). Some
bloggers have configured their plugins to include 50, 100 or more of these links in each post, which is further
exacerbating people’s frustration with pingbacks.
Page 22 of 117
E-Gov Stack for Public/Private Clouds
(For an example of a related-link plugin that does a good job of selecting relevant links and limiting pingbacks to
a reasonable number, give Zemanta a try)
✔ Trackbacks have become so unpopular that even many spammers have abandoned them.
✔ Parasite hosting – such as hacked wikis, forum profile spam and hijacked blogs – used to be solely the realm of
porn/pill/malware spammers. But recently Indian and Asian SEO spammers have adopted the same tactics – so
where it used to advertise penis pills or bogus antivirus programs, now it’s dentists, roofing, and pet food.
SEO Optimization
Optimizes your WordPress blog for Search Engines (Search Engine Optimization).
Some features:
• Support for Custom Post Types
• Advanced Canonical URLs
• Fine tune Page Navigational Links
• Built-in API so other plugins/themes can access and extend functionality
• ONLY plugin to provide SEO Integration for WP e-Commerce sites
• Nonce Security
• Support for CMS-style WordPress installations
• Automatically optimizes your titles for search engines
• Generates META tags automatically
• Avoids the typical duplicate content found on WordPress blogs
• For beginners, you don't even have to look at the options, it works out-of-the-box. Just install.
• For advanced users, you can fine-tune everything
• You can override any title and set any META description and any META keywords you want.
• Backward-Compatibility with many other plugins, like Auto Meta, Ultimate Tag Warrior and others.
Installation :
You can either use the automatic plugin installer or your FTP program to upload it to your wp-content/plugins directory
the top-level folder. Don't just upload all the php files and put them in /wp-content/plugins/.
1. Activate the plugin through the 'Plugins' menu in WordPress
2. Visit your SEO options (Options - All in One SEO) for WordPress 2.3.x, (Settings - All in One SEO) for WordPress
2.5.x-2.8.x
3. Configure any options as desired, and then enable the plugin
4. That's it!
If you have to upgrade manually simply repeat the installation steps and re-enable the plugin.
Adds an attractive social bookmarking menu to your posts, pages, index, or any combination of the three.
The sole aim was to stray away from the "in the box" thinking behind most social bookmarking plugins, and add a little
flair that would entice your readers, rather than deterring them with microscopic icons that get lost in pages heavy laden
with content.
Installation :
Upload the extracted archive to wp-content/plugins/
• Activate the plugin through the 'Plugins' menu
Page 23 of 117
E-Gov Stack for Public/Private Clouds
You can still configure the other options available when inserting manually and they will be passed to the function. This is
for those of you who have requested to be able to place the menu anywhere you choose...
Twitter Integration
The Follow Me widget allows you to display links to all your social media profiles in one, easy-to-access button or window.
Installation :
WPBook enables users to add your (self-hosted, not wordpress.com) wordpress blog as a Facebook application. Facebook
users will see your posts in a Facebook look and feel, and can leave comments with their Facebook identity.
Comments are shared - meaning comments made by users on your blog at its regular domain and comments made by users
inside Facebook are all shown to users of either "view" of your content.
Facebook users can also - at their option - add a profile tab to their profile, using the "add profile tab" button at the top
of the default canvas page.
WPBook also post notifications automatically to your wall, or the wall of pages for which you are an admin, to which
you've added the app, and for which you've granted stream publish permission, when you write a new post.
(This includes Application Profile pages and group walls, if you are an admin and have enabled fans to write on your walls
).
Finally, WPBook can also import comments made on your wall (or the wall of a Fan page) in response to excerpts it has
posted, and show those in your WordPress blog as full comments.
Installation :
Copy the entire wpbook directory into your wordpress plugins folder, /wp-content/plugins/
You should have a directory structure like this: /wp-content/plugins/wpbook/wpbook.php /wp-
content/plugins/wpbook/theme/ /wp-content/plugins/wpbook/client/
Page 24 of 117
E-Gov Stack for Public/Private Clouds
Set the callback url to your blog url, including a trailing slash. (http://www.yourblogurl.com/) For canvas
url, you just need something all lower case, unique, with no spaces, and no trailing slash. Remember it.
Set the application type to "website"
Set the application to use an iFrame, not fbml, and to "resizable" (Using iFrames lets you use javascript, objects,
and other tags not allowed in FBML inside blog posts)
2. Login to WordPress Admin and activate the plugin
3. Using the WPBook menu, (Dashboard->Settings->WPBook) fill in the appropriate information including Facebook
application secret and API keys, as well as your application canvas url.
Feedburner Integration
Redirects the main feed and optionally the comments feed to Feedburner.com. It does this seamlessly without the need to
modify templates, setup new hidden feeds, modify .htaccess files, or asking users to migrate to a new feed. All existing
feeds simply become Feedburner feeds seamlessly and transparently for all users. Just tell the plugin what your
Feedburner feed URL is and you're done.
Installation :
Integration with facebook , Twitter , Yahoo and Disqus for Commenting System
Disqus, pronounced "discuss", is a service and tool for web comments and discussions. Disqus makes commenting
easier and more interactive, while connecting websites and commenters across a thriving discussion community.
The Disqus for WordPress plugin seamlessly integrates using the Disqus API and by syncing with WordPress comments.
Disqus Features
• Threaded comments and replies
• Notifications and reply by email
• Subscribe and RSS options
• Aggregated comments and social mentions
• Powerful moderation and admin tools
• Full spam filtering, blacklists and whitelists
• Support for Disqus community widgets
• Connected with a large discussion community
• Increased exposure and readership
Installation :
Unpack archive to this archive to the 'wp-content/plugins/' directory inside of WordPress
Page 25 of 117
E-Gov Stack for Public/Private Clouds
• Maintain the directory structure of the archive (all extracted files should exist in 'wp-content/plugins/disqus/'
1. From your blog administration, click on Comments to change settings (WordPress 2.0 users can find the settings
under Options > Disqus.)
Tracking Controllers
The Google Analytics for WordPress plugin allows you to track your blog easily and with lots of metadata.
Installation :
Upload the wp-google-analytics.php file to the /wp-content/plugins/ directory
1. Activate the plugin through the 'Plugins' menu in WordPress
iPhone Integration
WPtouch Pro automatically transforms your WordPress blog into a mobile application experience when viewed from
popular touch-based smartphones like iPhoneTM, iPod touchTM, AndroidTM, PalmTM Pre/Pixi, and BlackBerry StormTM. Over
90% (and growing!) of the mobile-web surfing world will see your incredible mobile website with Wptouch.
Installation :
The best way to use WPtouch on WordPress Multisite Installations is to do so via the "Activate WPtouch Site Wide" link
in the plugins area.
• Install WPtouch, either manually or via the "Add New" option in the plugins menu
• Ensure that you have site wide plugins enabled in the Site Admin / Options menu
• On the plugin configuration page activate WPtouch as a site wide plugin by clicking the "Activate WPtouch iPhone
Theme Site Wide" link. If WPtouch is already activated, deactivate it first.
Sitemap Plugin
This plugin will generate a special XML sitemap which will help search engines like Google, Bing, Yahoo and Ask.com to
better index your blog. With such a sitemap, it's much easier for the crawlers to see the complete structure of your site
and retrieve it more efficiently. The plugin supports all kinds of WordPress generated pages as well as custom URLs.
Additionally it notifies all major search engines every time you create a post about the new content.
Installation :
WP-Cache is an extremely efficient WordPress page caching system to make your site much faster and responsive. It works
by caching Worpress pages and storing them in a static file for serving future requests directly from the file rather than
loading and compiling the whole PHP code and then building the page from the database. WP-Cache allows to serve
hundred of times more pages per second, and to reduce the response time from several tenths of seconds to less than a
Page 26 of 117
E-Gov Stack for Public/Private Clouds
millisecond.
Installation :
Upload to your plugins folder, usually wp-content/plugins/ and unzip the file, it will create a wp-content/plugins/wp-
cache/ directory.
1. If you have Compression turned on under Miscellaneous options, turn it off.
2. Activate the plugin on the plugin screen.
3. Go to "Options" administration menu, select "WP-Cache" from the submenu, the plugin will try to autoconfigure
everything. The plugin will try to autoconfigure everything, in case of failure --normally due to the lack of files'
permissions-- it tell you and give the instructions to solve the problems.
Import posts, pages, comments, custom fields, categories, and tags from a WordPress export file.
Installation :
Upload the wordpress-importer folder to the /wp-content/plugins/ directory
1. Activate the plugin through the 'Plugins' menu in WordPress
2. Go to the Tools -> Import screen, Click on WordPress
CoSign SSO is a WordPress plugin that provides several alternative authentication methods to WordPress, and it
maybe easily extend to support more SSO login methods. CoSign v2 and CoSign v3 are the first two Single Sign-on(SSO
) addins, that whay this plugin named. The other login method is just a by-product which provides LDAP
authentication.
When this plugin is enabled, and the login method is set to SSO, then using a external CoSign single sign-on login service.
When user click login, browser will redirect to remote login url, and will redirect back after successful logged in. If set
login method to LDAP, login with the familiar login screen, but authentication backend changed to LDAP.
Whether using SSO or LDAP login method, LDAP options must provided to fetch user account information. If the logged in
user account does not exists, create it on the fly by default.
Installation :
This section describes how to install the plugin and get it working.
1. Download the archive and expand it.
2. Upload the cosign-sso folder into your wp-content/plugins/ directory
3. In your WordPress Administration Area, go to the Plugins page and click Activate for CoSign SSO
Once you have CoSign SSO installed and activated you can change it's settings in Settings > CoSign SSO.
Page 27 of 117
E-Gov Stack for Public/Private Clouds
Virtual Learning Environment for the Government Offices especially where training is conducted on regular basis.
General features
2 Assignments
* Assignments allow teachers to grade electronically submitted material or 'offline' submissions such as paper-based
assignments or class presentations.
* An Upload File assignment
* An Online Text Assignment
* An Offline assignment
3 Chats
* The Chat module allows participants to have a real-time synchronous discussion via the web. This is a useful way to
get a different understanding of each other and the topic being discussed.
* A repeating chat with public session logs
* An open chat event
Page 28 of 117
E-Gov Stack for Public/Private Clouds
4 Choices
* Here a teacher asks a question and specifies a choice of multiple responses. This can be useful as a quick poll to
stimulate thinking about a topic; to allow the class to vote on a direction for the course; or to gather research consent.
* A Choice with anonymous results
* A Choice with non-anonymous results
* A Choice that allows you to update anytime
* A Choice with a limited number of responses allowed
5 Forums
* It is in forums that most discussion takes place. Forums can be structured in different ways, and can include peer
rating of each posting. The postings can be viewed in a variety for formats, and can include attachments.
* A Standard forum for general use
* Each person posts one discussion Forum
* A single discussion Forum
6 Glossaries
* This activity allows participants to create and maintain a list of definitions, like a dictionary.The entries can be
searched or browsed in many different formats.
* Teacher-Defined Glossary
* Learner-Defined Glossary
* A glossary of common terms
Customization :
Integration with Single Sign on.
Attendance Module
Installation :
These Modules are Installed by default in the installation , no need to install any of them.
Just Update after Installation.
Page 29 of 117
E-Gov Stack for Public/Private Clouds
Every Government office either has a Library or document s that the want to archive. Thats why a good Integrated library
management is one of the Basic requirement of may government offices.
1.Koha
2.PMB
3.phpMyLib
Outcome : Best available solution for the Library management Software is the Koha
Features :
The OPAC catalog search is powered by the sophisticated Zebra search engine. Readers can view content from Google and
Amazon. They can reserve books online, subscribe to RSS feeds, share reading lists and view fines, reading history and
maintain their personal profile.
The acquisitions modules allows the staff to manage purchase suggestions, donations, budgets and orders.
Via the circulation module staff can issues and returns, inter-library loans and track reserve requests and overdue items.
The Serials module allows staff to track the delivery of serials and manage routing lists.
Via the System Administration screens staff can manage circulation rules, patron and item types, cataloging frameworks
Page 30 of 117
E-Gov Stack for Public/Private Clouds
and more.
The tools section contains useful features including export or import, email notices, news label printing.
Koha runs on all browsers including internet exlorer, Mozilla Firefox and Chrome.
Standards Compliant
Koha is compliant with various library standards like MARC21 for cataloging, Z39.50 for data exchange and SIP/NCIP for
RFID based hardware.
Compliance to MARC21 standards makes it easy to migrate, import or export data from or to other library systems. Your
publisher may supply MARC21 records that you can import into Koha.
With it's Z39.50 capabilities Koha can be made into a Z39.50 server, so others can search of copy records from your Koha
installation. It goes without saying that Koha can consume records from other Z39.50 servers.
With SIP/NCIP compliance Koha becomes easy to integrate with RFID products from any vendor.
This features saves classification and data entry effort and is particularly useful for libraries that don't have trained
catalogers.
Library of Congress records are developed by professional catalogers, and contain detailed information about the material
including abstract, subject, keywords, editions and more.
The search in the OPAC functions better as fields like subject and keyword provide more access points to Koha's search
engine.
Patron Cards
You can print ready to use patron cards from Koha. Printing can be done in batches as well.
The card can include kind of information - patron number, name, address or expiry. It can also include a bar code to be
used in circulation or patron modules.
The layout of the card - size, font, font size, colors, logo can be adjusted quite easily.
Federated Search
Koha includes a federated search engine called Pazpar2.
Pazpar2 can simultaneously search a set of Z39.50 or SRU/W compliant databases and produce a consolidated search
result sorted by relevance.
Page 31 of 117
E-Gov Stack for Public/Private Clouds
With Pazpar2 it is possible to offer to patrons a simple Google like search screen that can query the Koha data for physical
items and several free and paid electronic databases.
From the search results patrons can navigate directly to the content in the case of electronic material or to the
description page on Koha in the case of physical items.
Flexible Reporting
Koha has several pre-defined reports, from overdue reports to patron, acquisition or circulation statistics.
You can also design your own reports using the Guided Reports Wizard, here you can choose the report format, select data
to be displayed in row or columns and set selection criteria.
For maximum flexibility you can write your own sql queries and run them directly from the user interface.
Reports data can be saved in text files. You can even schedule the reports to be run at pre-defined intervals.
If you are migrating a large no. of records you can use powerful command line tools. And if you need to import
incremental records on an on-going basis you can use easy to use and flexible GUI tools.
Koha allows export of MARC data including biblios and holding in MARC or MARCXML formats.
Enhanced Content
Koha integrates with Google, Amazon and several other web services to display valuable content along with each catalog
item.
Book jackets and previews from Google, or reader reviews and similar items lists from Amazon are very popular.
Koha is also able to group results by editions thanks to web services like XISBN.
Readers can also navigate seamlessly to other external database like Worldcat, Google Scholar or BookFinder.com if they
need to.
Page 32 of 117
E-Gov Stack for Public/Private Clouds
You can search in any field - title, author, call no, subject and more, or search for a term in all fields at once. Zebra
allows faceted search, sorting and drill down. You can create complex search conditions using AND and OR operators and
the system is smart enough to find results for mis-spelled words!
Use RSS feeds to get informed as new arrivals are added to the catalog.
You can create your own reading lists and share with friends. Library staff can create public reading lists to better serve
their patrons.
Staff can publish News items on the OPAC or on the Staff Client for that matter.
We know patrons want to know what other readers think about a particular item. Patrons can submit comments on any
item in the catalog. Staff can choose to moderate the comments before they are displayed on the OPAC.
Authority Control
You can create Author, Subject and other types of authority records.
When creating new records, catalogers can pick items from the authority files. This helps ensure consistency and high
quality.
Multiple Libraries
With Koha you can setup multiple libraries on branches on the same system.
Patrons of one library can check-out and check-in items at any library.
Multi-Language
The Koha architecture support multi-language screens and catalog.
Due to the efforts of Koha contributors, Koha is available in several languages today including French, Arabic, Hindi,
Taiwanese, Urdu and several others.
The Koha community also maintains collaborative translation tools on the web, so number of languages that Koha is
available keeps increasing!
You can search for and add a list of catalog items to be included in a printing batch.
Koha then generates a PDF file with the labels that printed off on any available printer.
Page 33 of 117
E-Gov Stack for Public/Private Clouds
Staff can setup content templates for events like overdues, the system then automatically populates details like patron
name or card number and item details like title and author and generates the email.
You can create their own item types as well. Once item types are set up you can use them and other attributes like patron
type or library name to create granular circulation rules.
Koha can support digital content as well, all you need to do is to store the url of the electronic resource in tag 856 of the
Marc record.
Stock-taking
Koha makes stock-taking simple. Library staff need to upload a file with items physically available in the library at a given
time. This file can be generated by using bar code or RFID scanners.
Koha can then combine this data with information on items in circulation, or those that are withdrawn or damaged or lost
to generate stock-taking reports including those on items that are missing.
Z39.50 Database
You can expose your Koha catalog as a Z39.50 source. This way other libraries with Z39.50 compliant clients or Library
Management Systems can copy your records with ease.
Configuration Changes for the LDAP Integration (Based on the following Configuration of LDAP)
Page 34 of 117
E-Gov Stack for Public/Private Clouds
Page 35 of 117
E-Gov Stack for Public/Private Clouds
70 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slim2RSS2.xsl"/>
71 </backend>
72 </retrieval>
73 <retrieval syntax="xml" name="utils">
74 <backend syntax="usmarc" name="F">
75 <marc inputformat="marc" outputformat="marcxml"
76 inputcharset="utf-8"/>
77 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slimUtils.xsl"/>
78 </backend>
79 </retrieval>
80 </retrievalinfo>
81 <xi:include href="/etc/koha/zebradb/explain-biblios.xml"
82 xmlns:xi="http://www.w3.org/2001/XInclude">
83 <xi:fallback>
84 <explain xmlns="http://explain.z3950.org/dtd/2.0/">
85 <serverInfo>
86 <host>gaurav</host>
87 <port>9998</port>
88 <database>biblios</database>
89 </serverInfo>
90 </explain>
91 </xi:fallback>
92 </xi:include>
93 </server>
94 <serverinfo id="biblioserver">
95 <ccl2rpn>/etc/koha/zebradb/ccl.properties</ccl2rpn>
96 <user>kohauser</user>
97 <password>zebrastripes</password>
98 </serverinfo>
99
100 <!-- AUTHORITY RECORDS -->
101 <server id="authorityserver" listenref="authorityserver" >
102 <directory>/var/lib/koha/zebradb/authorities</directory>
103 <config>/etc/koha/zebradb/zebra-authorities.cfg</config>
104 <cql2rpn>/etc/koha/zebradb/pqf.properties</cql2rpn>
105 <!-- <docpath>xsl</docpath> -->
106 <!-- <stylesheet>xsl/default.xsl</stylesheet> -->
107 <!-- <maximumrecordsize>2000000</maximumrecordsize> -->
108 <xi:include href="/etc/koha/zebradb/retrieval-info-auth-grs1.xml"
109 xmlns:xi="http://www.w3.org/2001/XInclude">
110 <xi:fallback>
111 <retrievalinfo>
112 <retrieval syntax="usmarc" name="F"/>
113 <retrieval syntax="usmarc" name="B"/>
114 <retrieval syntax="xml" name="marcxml"
115 identifier="info:srw/schema/1/marcxml-v1.1">
116 <backend syntax="usmarc" name="F">
117 <marc inputformat="marc" outputformat="marcxml"
118 inputcharset="utf-8"/>
119 </backend>
120 </retrieval>
121 <retrieval syntax="xml" name="dc">
122 <backend syntax="usmarc" name="F">
123 <marc inputformat="marc" outputformat="marcxml"
124 inputcharset="utf-8"/>
125 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slim2DC.xsl"/>
126 </backend>
Page 36 of 117
E-Gov Stack for Public/Private Clouds
127 </retrieval>
128 <retrieval syntax="xml" name="mods">
129 <backend syntax="usmarc" name="F">
130 <marc inputformat="marc" outputformat="marcxml"
131 inputcharset="utf-8"/>
132 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slim2MODS.xsl"/>
133 </backend>
134 </retrieval>
135 <retrieval syntax="xml" name="rdfdc">
136 <backend syntax="usmarc" name="F">
137 <marc inputformat="marc" outputformat="marcxml"
138 inputcharset="utf-8"/>
139 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slim2RDFDC.xsl"/>
140 </backend>
141 </retrieval>
142 <retrieval syntax="xml" name="utils">
143 <backend syntax="usmarc" name="F">
144 <marc inputformat="marc" outputformat="marcxml"
145 inputcharset="utf-8"/>
146 <xslt stylesheet="/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-
tmpl/prog/en/xslt/MARC21slimUtils.xsl"/>
147 </backend>
148 </retrieval>
149 </retrievalinfo>
150 </xi:fallback>
151 </xi:include>
152 <xi:include href="/etc/koha/zebradb/explain-authorities.xml"
153 xmlns:xi="http://www.w3.org/2001/XInclude">
154 <xi:fallback>
155 <explain xmlns="http://explain.z3950.org/dtd/2.0/">
156 <serverInfo>
157 <host>gaurav</host>
158 <port>9999</port>
159 <database>authorities</database>
160 </serverInfo>
161 </explain>
162 </xi:fallback>
163 </xi:include>
164 </server>
165 <serverinfo id="authorityserver">
166 <ccl2rpn>/etc/koha/zebradb/ccl.properties</ccl2rpn>
167 <user>kohauser</user>
168 <password>zebrastripes</password>
169 </serverinfo>
170
171 <!-- ADDITIONAL KOHA CONFIGURATION DIRECTIVE -->
172 <!-- db_scheme should follow the DBD driver name -->
173 <!-- port info: mysql:3306 Pg:5432 (5433 on Debian) -->
174 <config>
175 <db_scheme>mysql</db_scheme>
176 <database>koha</database>
177 <hostname>localhost</hostname>
178 <port>3306</port>
179 <user>root</user>
180 <pass>gaurav</pass>
181 <biblioserver>biblios</biblioserver>
182 <biblioservershadow>1</biblioservershadow>
183 <authorityserver>authorities</authorityserver>
Page 37 of 117
E-Gov Stack for Public/Private Clouds
184 <authorityservershadow>1</authorityservershadow>
185 <intranetdir>/home/gaurav/Desktop/Gaurav/koha/intranet/cgi-bin</intranetdir>
186 <opacdir>/home/gaurav/Desktop/Gaurav/koha/opac/cgi-bin/opac</opacdir>
187 <opachtdocs>/home/gaurav/Desktop/Gaurav/koha/opac/htdocs/opac-tmpl</opachtdocs>
188 <intrahtdocs>/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-tmpl</intrahtdocs>
189 <includes>/home/gaurav/Desktop/Gaurav/koha/intranet/htdocs/intranet-tmpl/prog/en/includes/</includes>
190 <logdir>/var/log/koha</logdir>
191 <pazpar2url>http://gaurav:11002/search.pz2</pazpar2url>
192 <install_log>/home/gaurav/Desktop/Gaurav/koha/misc/koha-install-log</install_log>
193 <useldapserver>1</useldapserver>
194 <!-- LDAP SERVER (optional) -->
195 <ldapserver id="ldapserver">
196 <hostname>localhost</hostname>
197 <base>ou=people,dc=paliwal</base>
198 <replicate>1</replicate>
199 <update>1</update>
200 <auth_by_bind>1</auth_by_bind>
201
202 <mapping>
203 <firstname is="givenname" ></firstname>
204 <surname is="sn" ></surname>
205 <address is="postaladdress" ></address>
206 <city is="l" >Athens, OH</city>
207 <zipcode is="postalcode" >110044</zipcode>
208 <branchcode is="branch" >CPL</branchcode>
209 <userid is="uid" ></userid>
210 <password is="userpassword" ></password>
211 <email is="mail" ></email>
212 <categorycode is="employeetype" >l</categorycode>
213 <phone is="telephonenumber"></phone>
214 </mapping>
215 </ldapserver>
216 </config>
217 </yazgfs>
Version: 1
# Total Entries: 7
dn: dc=paliwal
Page 38 of 117
E-Gov Stack for Public/Private Clouds
objectClass: top
objectClass: dcObject
objectClass: organization
o: paliwal
dc: paliwal
dn: cn=admin,dc=paliwal
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: {crypt}fnoIH.7fR5/pA
dn: ou=people,dc=paliwal
objectClass: organizationalUnit
objectClass: top
ou: people
dn: cn=GauravPaliwal,ou=people,dc=paliwal
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: Gaurav
sn: Paliwal
uid: gpaliwal
uidNumber: 1000
Page 39 of 117
E-Gov Stack for Public/Private Clouds
gidNumber: 1000
homeDirectory: /home/users/gpaliwal
mail: [email protected]
cn: GauravPaliwal
userPassword: gaurav
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: ppaliwal
sn: ppaliwal
uid: ppaliwal
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/users/ppaliwal
userPassword: ppaliwal
mail: [email protected]
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: test_project
sn: paliwal
Page 40 of 117
E-Gov Stack for Public/Private Clouds
uid: spaliwal
userPassword: {MD5}J6rskiYkAlhMQFsqixbUnQ==
uidNumber: 1002
gidNumber: 1000
homeDirectory: /home/users/spaliwal
mail: [email protected]
dn: cn=user,ou=people,dc=paliwal
objectClass: posixGroup
objectClass: top
cn: user
gidNumber: 1000
Page 41 of 117
E-Gov Stack for Public/Private Clouds
Options Available :
1.DSpace
2.Knowledge Tree
3.Fedora
Outcome :
1. Authentication: The mechanism whereby systems may securely identify their users.
2. Authorization: The mechanism by which a system determines what level of access a particular authenticated user
should have to secure resources controlled by the system.
3. Ease Of Access: The level of effort required in order finding, or gaining access to use it is very minimal by using various
Browse options.
4. Faster Search & Retrieval: Users can search for any item via a single interface. An Advanced Search tool is also
available.
5. Hierarchy to manage contents (i.e. Communities, Collections, and Items):
6. Import & Export: Allows Import & Export for Communities, Collections and Items.
7. Statistics: Provides statistical reports/summary which can be used for perform analysis on repository.
8. Supports large no. of digital formats: DSpace accepts any type of digital content, including: Text, Images, Audio and
Video.
9. Customization: Allows customization to accommodate the multidisciplinary and organizational needs of a large
institution.
10. Standards Compliance: By Default, Dspace stores item Meta data in the Dublin Core Metadata Schema. This ensures
data can be exchanged with other standards compliant system, such as MARC21. MARC is an acronym for MAchine-
Readable Cataloging. The five MARC 21 communication formats, Bibliographic Data, Authority Data, Holdings Data,
Classification Data, and Community Information, are widely used standards for the representation and exchange of
bibliographic, authority, holdings, classification, and community information datain machine-readable form.
11. Optimized Search: Dspace uses the open source search engine technology 'Lucene' which makes it very easy for
anybody to find any item within a very short span of time
Customization Requirement :
1.Theme Improvement
2.Single Sign On Required.
Page 42 of 117
E-Gov Stack for Public/Private Clouds
Theme Improvement are done by rewriting the CSS file from Scratch
Modified CSS for Research Repository
A { color: #37376B }
BODY { font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 9pt;
font-style: normal;
color: #000000;
background: #616B6C;
margin: 0;
padding: 0;
margin-left:0px;
margin-right:0px;
margin-top:0px;
margin-bottom:0px }
H1 { margin-left: 10px;
margin-right: 10px;
font-size: 16pt;
font-weight: bold;
font-style: normal;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
color: #336699 }
H2 { margin-left: 10px;
margin-right: 10px;
font-size: 11pt;
font-style: normal;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
color: #336699 }
H3 { margin-left: 10px;
margin-right: 10px;
font-size: 9pt;
font-weight: bold;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
color: black }
object { display: inline; }
p { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt }
Page 43 of 117
E-Gov Stack for Public/Private Clouds
cursor : default;
font-size: 9pt }
.langChangeOn { text-decoration: underline;
color: #336699;
cursor: pointer;
font-size: 9pt }
.pageBanner { width: 100%;
border: 0;
margin: 0;
background: #ffffff;
color: #000000;
padding: 0;
vertical-align: middle }
.tagLine { vertical-align: bottom;
padding: 10px;
border: 0;
margin: 0;
background: #ffffff;
color: #ff6600 }
.tagLineText { background: #ffffff;
color: #ff6600;
font-size: 9pt;
font-weight: bold;
border: 0;
margin: 0 }
.stripe { background: #336699 url(stripe.gif) repeat-x;
vertical-align: top;
border: 0;
padding: 0;
margin: 0;
color: #ffffff }
.locationBar { font-size: 9pt;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
text-align: left }
.centralPane { margin: 1px;
vertical-align: top;
padding: 3px;
border: 0 }
Page 44 of 117
E-Gov Stack for Public/Private Clouds
color: black;
text-decoration: none;
background: white;
white-space: nowrap }
Page 45 of 117
E-Gov Stack for Public/Private Clouds
Page 46 of 117
E-Gov Stack for Public/Private Clouds
text-align: center }
.submitFormLabel { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-weight: bold;
font-size: 9pt;
text-align: right;
vertical-align: top }
.submitFormHelp { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
text-align: center }
.submitFormWarn { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-weight: bold;
font-size: 9pt;
color: #ff6600;
text-align: center }
.uploadHelp { margin-left: 20px;
margin-right: 20px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
text-align: left }
.submitFormDateLabel { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: italic;
text-align: center;
vertical-align: top; }
.submitProgressTable{ margin: 0;
padding: 0;
border: 0;
vertical-align: top;
text-align: center;
white-space: nowrap }
.submitProgressButton{ border: 0 }
.submitProgressButtonDone{ border: 0;
background-image: url(/https/www.scribd.com/submit/done.gif);
background-position: center;
height: 30px;
width: 90px;
font-size: 9pt;
color: black;
background-repeat: no-repeat; }
.submitProgressButtonCurrent{ border: 0;
background-image: url(/https/www.scribd.com/submit/current.gif);
background-position: center;
height: 30px;
width: 90px;
font-size: 9pt;
color: white;
background-repeat: no-repeat; }
.submitProgressButtonNotDone{ border: 0;
background-image: url(/https/www.scribd.com/submit/notdone.gif);
background-position: center;
height: 30px;
width: 90px;
Page 47 of 117
E-Gov Stack for Public/Private Clouds
font-size: 9pt;
color: black;
background-repeat: no-repeat; }
.miscTable { font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: normal;
color: #000000;
vertical-align: middle;
text-decoration: none;
background: #cccccc }
.miscTableNoColor { font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: normal;
color: #000000;
vertical-align: middle;
text-decoration: none;
background: #ffffff }
Page 48 of 117
E-Gov Stack for Public/Private Clouds
font-weight: normal;
color: #000000;
vertical-align: middle;
text-decoration: none;
background: #ccccee;
}
.highlightRowEvenCol{ font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: normal;
color: #000000;
vertical-align: middle;
text-decoration: none;
background: #bbbbcc;
}
.itemDisplayTable{ text-align: center;
border: 0;
color: #000000 }
.metadataFieldLabel{ font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: bold;
color: #000000;
vertical-align: top;
text-align: right;
text-decoration: none;
white-space: nowrap;
}
.metadataFieldValue{ font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: normal;
color: #000000;
vertical-align: top;
text-align: left;
text-decoration: none;
}
.recentItem { margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt }
.searchBox { font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: bold;
color: #000000;
vertical-align: middle;
text-decoration: none;
background: #fefecd;
padding: 0;
border: 0;
margin: 0 }
.searchBoxLabel { font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
font-style: normal;
font-weight: bold;
color: #000000;
background: #fefecd;
text-decoration: none;
vertical-align: middle }
Page 49 of 117
E-Gov Stack for Public/Private Clouds
font-weight:bold;}
.help td.leftAlign{font-size:9pt;}
.help td.rightAlign{text-align:right;
font-size:9pt;}
ul.controlledvocabulary {
list-style-type:none; }
.controlledvocabulary ul li ul {
list-style-type:none;
display:none; }
input.controlledvocabulary {
border:0px; }
img.controlledvocabulary {
margin-right:8px ! important;
margin-left:11px ! important;
cursor:hand; }
.submitFormHelpControlledVocabularies {
Page 50 of 117
E-Gov Stack for Public/Private Clouds
margin-left: 10px;
margin-right: 10px;
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt;
text-align: left; }
.controlledVocabularyLink {
font-family: "Trebuchet MS", "Arial", "Helvetica", sans-serif;
font-size: 9pt; }
.browse_buttons
{
float: right;
padding: 1px;
margin: 1px;
}
#browse_navigation
{
margin-bottom: 10px;
}
#browse_controls
{
margin-bottom: 10px;
}
.browse_range
{
margin-top: 5px;
margin-bottom: 5px;
}
SSO Configuration for the Dspace based on the following LDAP Scheme
Version: 1
# Total Entries: 7
dn: dc=paliwal
objectClass: top
objectClass: dcObject
Page 51 of 117
E-Gov Stack for Public/Private Clouds
objectClass: organization
o: paliwal
dc: paliwal
dn: cn=admin,dc=paliwal
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: {crypt}fnoIH.7fR5/pA
dn: ou=people,dc=paliwal
objectClass: organizationalUnit
objectClass: top
ou: people
dn: cn=GauravPaliwal,ou=people,dc=paliwal
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: Gaurav
sn: Paliwal
uid: gpaliwal
uidNumber: 1000
gidNumber: 1000
homeDirectory: /home/users/gpaliwal
Page 52 of 117
E-Gov Stack for Public/Private Clouds
mail: [email protected]
cn: GauravPaliwal
userPassword: gaurav
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: ppaliwal
sn: ppaliwal
uid: ppaliwal
uidNumber: 1001
gidNumber: 1000
homeDirectory: /home/users/ppaliwal
userPassword: ppaliwal
mail: [email protected]
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
givenName: test_project
sn: paliwal
uid: spaliwal
Page 53 of 117
E-Gov Stack for Public/Private Clouds
userPassword: {MD5}J6rskiYkAlhMQFsqixbUnQ==
uidNumber: 1002
gidNumber: 1000
homeDirectory: /home/users/spaliwal
mail: [email protected]
dn: cn=user,ou=people,dc=paliwal
objectClass: posixGroup
objectClass: top
cn: user
gidNumber: 1000
#
# DSpace Configuration
#
# NOTE: The DSpace Configuration File is separated into several sections:
# * General Configurations
# * JSPUI & XMLUI Configurations
# * JSPUI Specific Configurations
# * XMLUI Specific Configurations
# * OAI-PMH Specific Configurations
# * SWORD Specific Configurations
# * OAI Harvesting Configurations
# * SOLR Statistics Configurations
#
#
#
#---------------------------------------------------------------#
#------------------GENERAL CONFIGURATIONS-----------------------#
#---------------------------------------------------------------#
# These configs are used by underlying DSpace API, and are #
# therefore applicable to all interfaces #
#---------------------------------------------------------------#
##### Basic information ######
Page 54 of 117
E-Gov Stack for Public/Private Clouds
# DSpace host name - should match base URL. Do not include port number
dspace.hostname = localhost
# DSpace base URL. Include port number etc., but NOT trailing slash
# Change to xmlui if you wish to use the xmlaui as the default, or remove
# "/jspui" and set webapp of your choice as the "ROOT" webapp in
# the servlet engine.
dspace.url = ${dspace.baseUrl}/xmlui
# The base URL of the OAI webapp (do not include /request).
dspace.oai.url = ${dspace.baseUrl}/oai
# JDBC Driver
db.driver = org.postgresql.Driver
# Schema name - if your database contains multiple schemas, you can avoid problems with
# retrieving the definitions of duplicate object names by specifying
# the schema name here that is used for DSpace by uncommenting the following entry
# db.schema =
# Maximum time to wait before giving up if all connections in pool are busy (milliseconds)
db.maxwait = 5000
# Specify a name for the connection pool (useful if you have multiple applications sharing Tomcat's dbcp)
# If not specified, defaults to 'dspacepool'
# db.poolname = dspacepool
Page 55 of 117
E-Gov Stack for Public/Private Clouds
# Set the default mail character set. This may be over ridden by providing a line
# inside the email template "charset: <encoding>", otherwise this default is used.
#mail.charset = UTF8
# A comma separated list of hostnames that are allowed to refer browsers to email forms.
# Default behaviour is to accept referrals only from dspace.hostname
#mail.allowed.referrers = localhost
# Pass extra settings to the Java mail library. Comma separated, equals sign between
# the key and the value.
#mail.extraproperties = mail.smtp.socketFactory.port=465, \
# mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
# mail.smtp.socketFactory.fallback=false
# An option is added to disable the mailserver. By default, this property is set to false
# By setting mail.server.disabled = true, DSpace will not send out emails.
# It will instead log the subject of the email which should have been sent
# This is especially useful for development and test environments where production data is used when testing
functionality.
#mail.server.disabled = false
Page 56 of 117
E-Gov Stack for Public/Private Clouds
# Specify the number of the store to use for new bitstreams with this property
# The default is 0 (zero) which corresponds to the 'assetstore.dir' above
# assetstore.incoming = 1
Page 57 of 117
E-Gov Stack for Public/Private Clouds
log.init.config = ${dspace.dir}/config/log4j.properties
# Chinese analyzer
# search.analyzer = org.apache.lucene.analysis.cn.ChineseAnalyzer
# Boolean search operator to use, current supported values are OR and AND
# If this config item is missing or commented out, OR is used
# AND requires all search terms to be present
# OR requires one or more search terms to be present
search.operator = OR
Page 58 of 117
E-Gov Stack for Public/Private Clouds
search.index.1 = author:dc.contributor.*
search.index.2 = author:dc.creator.*
search.index.3 = title:dc.title.*
search.index.4 = keyword:dc.subject.*
search.index.5 = abstract:dc.description.abstract
search.index.6 = author:dc.description.statementofresponsibility
search.index.7 = series:dc.relation.ispartofseries
search.index.8 = abstract:dc.description.tableofcontents
search.index.9 = mime:dc.format.mimetype
search.index.10 = sponsor:dc.description.sponsorship
search.index.11 = identifier:dc.identifier.*
search.index.12 = language:dc.language.iso
Page 59 of 117
E-Gov Stack for Public/Private Clouds
#core.authorization.community-admin.collection.admin-group = true
# item owned by collections in his community
#core.authorization.community-admin.item.delete = true
#core.authorization.community-admin.item.withdraw = true
#core.authorization.community-admin.item.reinstatiate = true
#core.authorization.community-admin.item.policies = true
# also bundle...
#core.authorization.community-admin.item.create-bitstream = true
#core.authorization.community-admin.item.delete-bitstream = true
#core.authorization.community-admin.item-admin.cc-license = true
# COLLECTION ADMIN
#core.authorization.collection-admin.policies = true
#core.authorization.collection-admin.template-item = true
#core.authorization.collection-admin.submitters = true
#core.authorization.collection-admin.workflows = true
#core.authorization.collection-admin.admin-group = true
# item owned by his collection
#core.authorization.collection-admin.item.delete = true
#core.authorization.collection-admin.item.withdraw = true
#core.authorization.collection-admin.item.reinstatiate = true
#core.authorization.collection-admin.item.policies = true
# also bundle...
#core.authorization.collection-admin.item.create-bitstream = true
#core.authorization.collection-admin.item.delete-bitstream = true
#core.authorization.collection-admin.item-admin.cc-license = true
# ITEM ADMIN
#core.authorization.item-admin.policies = true
# also bundle...
#core.authorization.item-admin.create-bitstream = true
#core.authorization.item-admin.delete-bitstream = true
#core.authorization.item-admin.cc-license = true
# this option below specifies that the email comes from the mentioned header.
Page 60 of 117
E-Gov Stack for Public/Private Clouds
# this option below forces the software to acquire the email from Tomcat.
authentication.shib.email-use-tomcat-remote-user = true
# authentication.shib.role-header = Shib-EP-UnscopedAffiliation
authentication.shib.role-header.ignore-scope = false
# when user is fully authN on IdP but would not like to release
# his/her roles to DSpace (for privacy reason?), what should be
# the default roles be given to such users?
# The values are separated by semi-colon or comma
# authentication.shib.default-roles = Staff, Walk-ins
# The following mappings specify role mapping between IdP and Dspace.
# the left side of the entry is IdP's role (prefixed with
# "authentication.shib.role.") which will be mapped to
# the right entry from DSpace. DSpace's group as indicated on the
# right entry has to EXIST in DSpace, otherwise user will be identified
# as 'anonymous'. Multiple values on the right entry should be separated
# by comma. The values are CASE-Sensitive. Heuristic one-to-one mapping
# will be done when the IdP groups entry are not listed below (i.e.
# if "X" group in IdP is not specified here, then it will be mapped
# to "X" group in DSpace if it exists, otherwise it will be mapped
# to simply 'anonymous')
#
# Given sufficient demand, future release could support regex for the mapping
# special characters need to be escaped by \
authentication.shib.role.Senior\ Researcher = Researcher, Staff
authentication.shib.role.Librarian = Administrator
Page 61 of 117
E-Gov Stack for Public/Private Clouds
# If required, a group name can be given here, and all users who log in
# using the DSpace password system will automatically become members of
# this group. This is useful if you want a group made up of all internal
# authenticated users.
#password.login.specialgroup = group-name
Page 62 of 117
E-Gov Stack for Public/Private Clouds
# This is the LDAP object field where the user's email address
# is stored. "mail" is the default and the most common for
# LDAP servers. If the mail field is not found the username
# will be used as the email address when creating the eperson
# object.
ldap.email_field = mail
# This is the LDAP object field where the user's last name is
# stored. "sn" is the default and is the most common for LDAP
# servers. If the field is not found the field will be left
# blank in the new eperson object.
ldap.surname_field = sn
# This is the LDAP object field where the user's given names
# are stored. This may not be used or set in all LDAP instances.
# If the field is not found the field will be left blank in the
Page 63 of 117
E-Gov Stack for Public/Private Clouds
# If required, a group name can be given here, and all users who log in
# to LDAP will automatically become members of this group. This is useful
# if you want a group made up of all internal authenticated users.
#ldap.login.specialgroup = group-name
# This is the search scope value for the LDAP search during
# autoregistering. This will depend on your LDAP server setup.
# This value must be one of the following integers corresponding
# to the following values:
# object scope : 0
# one level scope : 1
# subtree scope : 2
#ldap.search_scope = 2
# The full DN and password of a user allowed to connect to the LDAP server
# and search for the DN of the user trying to log in. If these are not specified,
# the initial bind will be performed anonymously.
#ldap.search.user = cn=admin,ou=people,o=myu.edu
#ldap.search.password = password
# If your LDAP server does not hold an email address for a user, you can use
# the following field to specify your email domain. This value is appended
# to the netid in order to make an email address. E.g. a netid of 'user' and
# ldap.netid_email_domain as '@example.com' would set the email of the user
Page 64 of 117
E-Gov Stack for Public/Private Clouds
# to be '[email protected]
#ldap.netid_email_domain = @example.com
Page 65 of 117
E-Gov Stack for Public/Private Clouds
#pdffilter.largepdfs = true
# If true, PDFs which still result in an Out of Memory error from PDFBox
# are skipped over...these problematic PDFs will never be indexed until
# memory usage can be decreased in the PDFBox software
#pdffilter.skiponmemoryexception = true
crosswalk.qdc.namespace.qdc.dc = http://purl.org/dc/elements/1.1/
crosswalk.qdc.namespace.qdc.dcterms = http://purl.org/dc/terms/
crosswalk.qdc.schemaLocation.qdc = \
http://purl.org/dc/terms/ http://dublincore.org/schemas/xmls/qdc/2006/01/06/dcterms.xsd \
http://purl.org/dc/elements/1.1/ http://dublincore.org/schemas/xmls/qdc/2006/01/06/dc.xsd
crosswalk.qdc.properties.qdc = crosswalks/QDC.properties
# Option to make use of collection templates when using the METS ingester (default is false)
mets.submission.useCollectionTemplate = false
# Crosswalk Plugins:
plugin.named.org.dspace.content.crosswalk.IngestionCrosswalk = \
org.dspace.content.crosswalk.PREMISCrosswalk = PREMIS \
org.dspace.content.crosswalk.OREIngestionCrosswalk = ore \
org.dspace.content.crosswalk.NullIngestionCrosswalk = NIL \
org.dspace.content.crosswalk.QDCCrosswalk = qdc \
org.dspace.content.crosswalk.OAIDCIngestionCrosswalk = dc \
org.dspace.content.crosswalk.DIMIngestionCrosswalk = dim
plugin.selfnamed.org.dspace.content.crosswalk.IngestionCrosswalk = \
org.dspace.content.crosswalk.XSLTIngestionCrosswalk
plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk = \
org.dspace.content.crosswalk.SimpleDCDisseminationCrosswalk = DC \
org.dspace.content.crosswalk.SimpleDCDisseminationCrosswalk = dc \
org.dspace.content.crosswalk.PREMISCrosswalk = PREMIS \
org.dspace.content.crosswalk.METSDisseminationCrosswalk = METS \
Page 66 of 117
E-Gov Stack for Public/Private Clouds
org.dspace.content.crosswalk.METSDisseminationCrosswalk = mets \
org.dspace.content.crosswalk.OREDisseminationCrosswalk = ore \
org.dspace.content.crosswalk.QDCCrosswalk = qdc \
org.dspace.content.crosswalk.DIMDisseminationCrosswalk = dim
plugin.selfnamed.org.dspace.content.crosswalk.DisseminationCrosswalk = \
org.dspace.content.crosswalk.MODSDisseminationCrosswalk , \
org.dspace.content.crosswalk.XSLTDisseminationCrosswalk, \
org.dspace.content.crosswalk.QDCCrosswalk, \
org.dspace.content.crosswalk.XHTMLHeadDisseminationCrosswalk
# Packager Plugins:
plugin.named.org.dspace.content.packager.PackageDisseminator = \
org.dspace.content.packager.DSpaceMETSDisseminator = METS
plugin.named.org.dspace.content.packager.PackageIngester = \
org.dspace.content.packager.PDFPackager = Adobe PDF, PDF, \
org.dspace.content.packager.DSpaceMETSIngester = METS
# The noindex dispatcher will not create search or browse indexs (usefull for batch item imports)
event.dispatcher.noindex.class = org.dspace.event.BasicDispatcher
event.dispatcher.noindex.consumers = eperson
Page 67 of 117
E-Gov Stack for Public/Private Clouds
# The directory where the compressed files will reside and be read by the downloader
org.dspace.app.itemexport.download.dir = ${dspace.dir}/exports/download
# The length of time in hours each archive should live for. When new archives are
# created this entry is used to delete old ones
org.dspace.app.itemexport.life.span.hours = 48
# The maximum size in Megabytes the export should be. This is enforced before the
# compression. Each bitstream's size in each item being exported is added up, if their
# cummulative sizes are more than this entry the export is not kicked off
org.dspace.app.itemexport.max.size = 200
# For backwards compatability, the subscription emails by default include any modified items
# uncomment the following entry for only new items to be emailed
# eperson.subscription.onlynew = true
# Metadata elements to exclude when exporting via the user interfaces, or when using the
# command line version and not using the -a (all) option.
# bulkedit.ignore-on-export = dc.date.accessioned, dc.date.available, \
# dc.date.updated, dc.description.provenance
#---------------------------------------------------------------#
Page 68 of 117
E-Gov Stack for Public/Private Clouds
Page 69 of 117
E-Gov Stack for Public/Private Clouds
webui.preview.enabled = false
# max dimensions of the preview image
webui.preview.maxwidth = 600
webui.preview.maxheight = 600
# the brand text
webui.preview.brand = My Institution Name
# an abbreviated form of the above text, this will be used
# when the preview image cannot fit the normal text
webui.preview.brand.abbrev = MyOrg
# the height of the brand
webui.preview.brand.height = 20
# font settings for the brand text
webui.preview.brand.font = SansSerif
webui.preview.brand.fontpoint = 12
#webui.preview.dc = rights
Page 70 of 117
E-Gov Stack for Public/Private Clouds
#
# This form represent a unique index of metadata values from the item.
#
# (date | title | text | <other>) refers to the datatype of the field.
# date: the index type will be treated as a date object
# title: the index type will be treated like a title, which will include
# a link to the item page
# text: the index type will be treated as plain text. If single mode is
# specified then this will link to the full mode list
# <other>: any other datatype will be treated the same as 'text', although
# it will apply any custom ordering normalisation configured below
#
# The final part of the configuration is optional, and specifies the default ordering
# for the index - whether it is ASCending (the default, and best for text indexes), or
# DESCending (useful for dates - ie. most recent submissions)
#
# NOTE: the text to render the index will use the <index name=""> parameter to select
# the message key from Messages.properties using a key of the form:
#
# browse.type.metadata.<index name="">
#
# The other form is for indexes of the items themselves, ie. each entry will be displayed
# according to the configuration of by webui.itemlist.columns:
#
# webui.browse.index.<n> = <index name=""> : item : <sort option="" name=""> : (asc | desc)
#
# sort option name: this is the sorting to be applied to the display. It must match the
# name given to one of the webui.itemlist.sort-option entries given below.
#
# The final part of the configuration is optional, and specifies the default ordering
# for the index - whether it is ASCending (the default, and best for text indexes), or
# DESCending (useful for dates - ie. most recent submissions)
# NOTE: the text to render the index will use the <sort option="" name=""> parameter to select
# the message key from Messages.properties (for JSPUI) using a key of the form:
#
# browse.type.item.<sort option="" name="">
#
# Note: the index numbers <n> must start from 1 and increment continuously by 1
# thereafter. Deviation from this will cause an error during install or
# configuration update
#
# For compatibility with previous versions:
#
webui.browse.index.1 = dateissued:item:dateissued
webui.browse.index.2 = author:metadata:dc.contributor.*,dc.creator:text
webui.browse.index.3 = title:item:title
webui.browse.index.4 = subject:metadata:dc.subject.*:text
#webui.browse.index.5 = dateaccessioned:item:dateaccessioned
Page 71 of 117
E-Gov Stack for Public/Private Clouds
#
# webui.itemlist.sort-option.<n> = : \
# <schema prefix="">.<element>[.<qualifier>|.*] : \
# (date | text | ...) : (show | hide)
#
# This is defined much the same as above. The parameter after the metadata
# just lets the sorter know which normalisation to use - standard normalisations are title,
# text or date - however additional normalisations can be defined using the PluginManager.
#
# The final parts of the configuration is optional - whether to SHOW (the default) or
# HIDE the option from the sorting controls in the user interface. This can be useful if
# you need to define a specific date sort for use by the recent items lists,
# but otherwise don't want users to choose that option.
#
webui.itemlist.sort-option.1 = title:dc.title:title
webui.itemlist.sort-option.2 = dateissued:dc.date.issued:date
webui.itemlist.sort-option.3 = dateaccessioned:dc.date.accessioned:date
# Set the options for the size (number of characters) of the fields stored in the database.
#
# The default is 0, which is unlimited size for fields holding indexed data. Some
# database implementations (e.g. Oracle) will enforce their own limit on this field
# size. Reducing the field size will decrease the potential size of your database and
# increase the speed of the browse, but it will also increase the chance of
# mis-ordering of similar fields. Below are commented out, but proposed values for
# reasonably performance versus result quality
#
# Size of field for the browse value (this will affect display, and value sorting)
#
# webui.browse.value_columns.max = 500
# Size of field for hidden sort columns (this will affect only sorting, not display)
#
# webui.browse.sort_columns.max = 200
# Omission mark to place after truncated strings in display. The default is "..."
#
# webui.browse.value_columns.omission_mark = ...
Page 72 of 117
E-Gov Stack for Public/Private Clouds
# The plugin manager can be used to specify your own delegates for each datatype.
#
# The default datatypes (and delegates) are:
#
# author = org.dspace.sort.OrderFormatAuthor
# title = org.dspace.sort.OrderFormatTitle
# text = org.dspace.sort.OrderFormatText
#
# If you redefine a default datatype here, the configuration will be used in preference
# to the default, however, if you do not explicitly redefine a datatype, then the
# default will still be used in addition to the datatypes you do specify.
#
# As of 1.5.2, the multi-lingual MARC 21 title ordering is configured as default.
# To use the previous title ordering, comment out the configuration below
plugin.named.org.dspace.sort.OrderFormatDelegate= \
org.dspace.sort.OrderFormatTitleMarc21=title
## Set the options for how authors are displayed in the browse listing
# Define which field is the author/editor etc listing. This should be listed in the
# field webui.itemlist.columns, otherwise it will have no effect.
# This cannot be a field already marked out as a title or a date, as this
# will also have no effect. This is used in conjunction with the
# webui.browse.author-limit field below, to truncate author lists. For
# configuring links to author publication lists use webui.browse.link below.
# (This setting is not used by the XMLUI as it is controlled by your theme)
#
# webui.browse.author-field = dc.contributor.*
# define how many authors to display before truncating and completing with "et al"
# (or language pack specific alternative)
#
# Use -1 for unlimited (which is what will be used if this option
# is omitted)
#
# webui.browse.author-limit = 3
# which fields should link to other browse listings. This should associated
# the name of one of the above browse indices with a metadata field listed
# in <webui.itemlist.columns> above. The form is:
#
# webui.browse.link.<n> = <index name="">:<display column="" metadata="">
#
# Note that cross linking will only work for fields other than title.
#
# The effect this has is to create links to browse views for the item clicked on.
# If it is a "single" type, it will link to a view of all the items which share
# that metadata element in common (i.e. all the papers by a single author). If
# it is a "full" type, it will link to a view of the standard full browse page,
# starting with the value of the link clicked on.
# (This setting is not used by the XMLUI, as links are controlled by your theme)
#
# The default below defines the authors to link to other publications by that author
#
webui.browse.link.1 = author:dc.contributor.*
Page 73 of 117
E-Gov Stack for Public/Private Clouds
# tell the community and collection pages that we are using the Recent
# Submissions code
plugin.sequence.org.dspace.plugin.CommunityHomeProcessor = \
org.dspace.app.webui.components.RecentCommunitySubmissions
plugin.sequence.org.dspace.plugin.CollectionHomeProcessor = \
org.dspace.app.webui.components.RecentCollectionSubmissions
# enable syndication feeds - links display on community and collection home pages
# (This setting is not used by XMLUI, as you enable feeds in your theme)
webui.feed.enable = true
# number of DSpace items per feed (the most recent submissions)
webui.feed.items = 4
# maximum number of feeds in memory cache
# value of 0 will disable caching
webui.feed.cache.size = 100
# number of hours to keep cached feeds before checking currency
# value of 0 will force a check with each request
webui.feed.cache.age = 48
# which syndication formats to offer
# use one or more (comma-separated) values from list:
# rss_0.90, rss_0.91, rss_0.92, rss_0.93, rss_0.94, rss_1.0, rss_2.0
webui.feed.formats = rss_1.0,rss_2.0,atom_1.0
# URLs returned by the feed will point at the global handle server (e.g. http://hdl.handle.net/123456789/1)
# Set to true to use local server URLs (i.e. http://myserver.myorg/handle/123456789/1)
webui.feed.localresolve = false
# Customise the metadata fields to show in the feed for each item's description.
# Elements will be displayed in the order that they are specified here.
#
# The form is <schema prefix="">.<element>[.<qualifier>|.*][(date)], ...
Page 74 of 117
E-Gov Stack for Public/Private Clouds
#
# Similar to the item display UI, the name of the field for display
# in the feed will be drawn from the current UI dictionary,
# using the key:
# "metadata.<field>"
#
# e.g. "metadata.dc.title"
# "metadata.dc.contributor.author"
# "metadata.dc.date.issued"
webui.feed.item.description = dc.title, dc.contributor.author, \
dc.contributor.editor, dc.description.abstract, \
dc.description
# name of field to use for authors (Atom only) - repeatable
webui.feed.item.author = dc.contributor.author
# Customize the extra namespaced DC elements added to the item (RSS) or entry
# (Atom) element. These let you include individual metadata values in a
# structured format for easy extraction by the recipient, instead of (or in
# addition to) appending these values to the Description field.
## dc:creator value(s)
#webui.feed.item.dc.creator = dc.contributor.author
## dc:date value (may be contradicted by webui.feed.item.date)
#webui.feed.item.dc.date = dc.date.issued
## dc:description (e.g. for a distinct field that is ONLY the abstract)
#webui.feed.item.dc.description = dc.description.abstract
Page 75 of 117
E-Gov Stack for Public/Private Clouds
#
# Comma-separated list of search engine URLs to 'ping' when a new Sitemap has
# been created. Include everything except the Sitemap URL itself (which will
# be URL-encoded and appended to form the actual URL 'pinged').
#
sitemap.engineurls = http://www.google.com/webmasters/sitemaps/ping?sitemap=
# Add this to the above parameter if you have an application ID with Yahoo
# (Replace REPLACE_ME with your application ID)
# http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=REPLACE_ME&url=
#
# No known Sitemap 'ping' URL for MSN/Live search
#plugin.named.org.dspace.content.authority.ChoiceAuthority = \
# org.dspace.content.authority.SampleAuthority = Sample, \
# org.dspace.content.authority.LCNameAuthority = LCNameAuthority, \
# org.dspace.content.authority.SHERPARoMEOPublisher = SRPublisher, \
# org.dspace.content.authority.SHERPARoMEOJournalTitle = SRJournalTitle
Page 76 of 117
E-Gov Stack for Public/Private Clouds
##
## This sets the default lowest confidence level at which a metadata value is included
## in an authority-controlled browse (and search) index. It is a symbolic
## keyword, one of the following values (listed in descending order):
## accepted
## uncertain
## ambiguous
## notfound
## failed
## rejected
## novalue
## unset
## See manual or org.dspace.content.authority.Choices source for descriptions.
authority.minconfidence = ambiguous
## demo: use choice authority (without authority-control) to restrict dc.type on EditItemMetadata page
# choices.plugin.dc.type = common_types
# choices.presentation.dc.type = select
#---------------------------------------------------------------#
#--------------JSPUI SPECIFIC CONFIGURATIONS--------------------#
Page 77 of 117
E-Gov Stack for Public/Private Clouds
#---------------------------------------------------------------#
# These configs are only used by the JSP User Interface #
#---------------------------------------------------------------#
# Maximum size of uploaded files in bytes, negative setting will result in no limit being set
# 512Mb
upload.max = 536870912
# should the stats be publicly available? should be set to false if you only
# want administrators to access the stats, or you do not intend to generate
# any
report.public = false
# whether to display the contents of the licence bundle (often just the deposit
# licence in standard DSpace installation
webui.licence_bundle.show = false
# Customise the DC metadata fields to show in the default simple item view.
#
# The form is <schema prefix="">.<element>[.<qualifier>|.*][(date)|(link)], ...
#
# For example:
# dc.title = Dublin Core element 'title' (unqualified)
# dc.title.alternative = DC element 'title', qualifier 'alternative'
# dc.title.* = All fields with Dublin Core element 'title'
# (any or no qualifier)
# dc.identifier.uri(link) = DC identifier.uri, render as a link
# dc.date.issued(date) = DC date.issued, render as a date
#
# If an item has no value for a particular field, it won't be displayed.
# The name of the field for display will be drawn from the current UI
# dictionary, using the key:
#
#
"metadata.<style></style></qualifier></element></schema></field></qualifier></element></schema></qualifier></elem
ent></schema></display></index></n></webui.itemlist.columns></qualifier></element></schema></n></n></sort></sor
t></sort></index></n></index></index></other></other></qualifier></element></schema></index></n></encoding>
Page 78 of 117
E-Gov Stack for Public/Private Clouds
Private clouds gives flexible power in your own IT infrastructure. With Ubuntu Enterprise Cloud, you get the benefits of
cloud computing behind the security of your firewall. Deploy workloads and have them running immediately. Grow or
shrink computing capacity to meet your application's needs.
Immediacy
Provides a self-service IT capability that enables new applications to be rapidly deployed whenever needed.
Elasticity
Demand for resources is met dynamically, with computing power flexing to meet users' needs swiftly and seamlessly.
Compatible technology
Ubuntu Enterprise Cloud offers the same Application Programming Interfaces (APIs) as Amazon EC2, so you can build your
applications to run on both platforms.
Rapid deployment
Create your initial cloud infrastructure in minutes and grow it over time. The current cloud creation speed record stands
at 25 minutes.
Security
Because data is kept behind the firewall on your company's infrastructure, fewer changes to existing governance, security
and audit procedures are needed.
Optimise resources
Make the most of your existing hardware and network infrastructure by building a private cloud. You get the benefits of a
cloud while maximising return on existing investments.
Trust
Uses Ubuntu's trusted, stable and lean operating system within the cloud environment.
Page 79 of 117
E-Gov Stack for Public/Private Clouds
Follow the given instructions to install the UEC [All in one Controller /*NOT RECOMMENED FOR PRODUCTION USE*/]:
STEP 1: Prerequisites
To deploy a minimal cloud infrastructure, you’ll need at least two dedicated systems:
• a front end
• one or more node(s)
The following are recommendations, rather than fixed requirements. However, our experience in developing this
documentation indicated the following suggestions.
Front End
Use the following table for a system that will run one or more of:
• the cloud controller (clc)
• the cluster controller (cc)
• walrus (the S3-like storage service)
• the storage controller (sc)
Hardware Minimum Suggested Notes
CPU 1GHz 2 x 2GHz for an all-in-one front end, it helps to have at least a dual core processor
Memory 2GB 4GB the Java web front end benefits from lots of available memory
Disk 5400rpm IDE 7200rpm SATA slower disks will work, but will yield much longer instance startup times
40GB is only enough space for only a single image, cache, etc., Eucalyptus
Disk Space 40GB 200GB
does not like to run out of disk space
machine images are hundreds of MB, and need to be copied over the
Networking 100Mbps 1000Mbps
network to nodes
Node(s)
The other system(s) are nodes, which will run:
• the node controller (nc)
These systems will actually run the instances. You will need one or more systems with:
Hardware Minimum Suggested Notes
VT, 64-bit, 64-bit can run both i386, and amd64 instances; by default,
CPU VT extensions
Multicore Eucalyptus will only run 1 VM per CPU core on a Node
Memory 1GB 4GB additional memory means more, and larger guests
7200rpm SATA or Eucalyptus nodes are disk-intensive; I/O wait will likely be the
Disk 5400rpm IDE
SCSI performance bottleneck
images will be cached locally, Eucalyptus does not like to run out of
Disk Space 40GB 100GB
disk space
machine images are hundreds of MB, and need to be copied over the
Networking 100Mbps 1000Mbps
network to nodes
STEP 2: Install the Cloud/Cluster/Storage/Walrus Front End Server
1. Download the 10.04 Server ISO
Page 80 of 117
E-Gov Stack for Public/Private Clouds
3. The installer will detect if any other Eucalyptus components are present.
Page 81 of 117
E-Gov Stack for Public/Private Clouds
4. You can then choose which components to install, based on your chosen topology.
5. It will ask two other cloud-specific questions during the course of the install:
1. Name of your cluster, e.g. cluster1.
Page 82 of 117
E-Gov Stack for Public/Private Clouds
2. A range of public IP addresses on the LAN that the cloud can allocate to instances, e.g. 192.168.1.200-
192.168.1.249.
Page 83 of 117
E-Gov Stack for Public/Private Clouds
• You can now remove the password of the eucalyptus account on the target controller, if you wish:
• sudo passwd -d eucalyptus
• Cluster Controller:
sudo start eucalyptus-cc-publication
• Storage Controller:
sudo start eucalyptus-sc-publication
• Node Controller
sudo start eucalyptus-nc-publication
e.
Verify Registration
cat /var/log/eucalyptus/registration.log
2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
Page 84 of 117
E-Gov Stack for Public/Private Clouds
Important! You must use a secure connection, so make sure you use "https" not "http" in your URL. You will get a
security certificate warning. You will have to add an exception to view the page. If you do not accept it you will
not be able to view the Eucalyptus configuration page.
2. Use username 'admin' and password 'admin' for the first time login (you will be prompted to change your password
).
3. Then follow the on-screen instructions to update the admin password and email address.
4. Once the first time configuration process is completed, click the 'credentials' tab located in the top-left portion
of the screen.
2. To validate that everything is working correctly, get the local cluster availability details:
. ~/.euca/eucarc
euca-describe-availability-zones verbose
AVAILABILITYZONE myowncloud 192.168.1.1
AVAILABILITYZONE |- vm types free / max cpu ram disk
AVAILABILITYZONE |- m1.small 0004 / 0004 1 192 2
AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5
AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10
Page 85 of 117
E-Gov Stack for Public/Private Clouds
The simplest way to add an image to UEC is to install it from the Image Store on the UEC web interface.
1. Access the web interface at the following URL (Make sure you specify https):
https://<cloud-controller-ip-address>:8443/
2. Enter your login and password (if requested, as you may still be logged in from earlier)
3. Click on the Store tab
Page 86 of 117
E-Gov Stack for Public/Private Clouds
Page 87 of 117
E-Gov Stack for Public/Private Clouds
Objective
STEP 1: Prerequisites
To deploy a minimal cloud infrastructure, you’ll need at least 4 dedicated systems:
• 1 CLC
• 1 WS3
• 1 CC + EBS
• 1 NC
The following are recommendations, rather than fixed requirements. However, our experience in developing this
documentation indicated the following suggestions.
Cloud Controller (CLC)
Page 88 of 117
E-Gov Stack for Public/Private Clouds
These systems will actually run the instances. You will need one or more systems with:
Hardware Minimum Suggested Notes
VT, 64-bit, 64-bit can run both i386, and amd64 instances; by default,
CPU VT extensions
Multicore Eucalyptus will only run 1 VM per CPU core on a Node
Memory 1GB 4GB additional memory means more, and larger guests
7200rpm SATA or Eucalyptus nodes are disk-intensive; I/O wait will likely be the
Disk 5400rpm IDE
SCSI performance bottleneck
images will be cached locally, Eucalyptus does not like to run out of
Disk Space 40GB 100GB
disk space
machine images are hundreds of MB, and need to be copied over the
Networking 100Mbps 1000Mbps
network to nodes
STEP 2a: Install the Cloud Controller Server
1. Install Ubuntu 10.04 Server
2. Update to the most current state in the Ubuntu archive:
sudo apt-get update
sudo apt-get dist-upgrade
Page 89 of 117
E-Gov Stack for Public/Private Clouds
4. Edit /etc/eucalyptus/eucalyptus-ipaddr.conf so that the following variable are set to the internal (private) ip
address of the server
CC_IP_ADDR="<CC_ipaddress>"
SC_IP_ADDR="<CC_ipaddress>"
Page 90 of 117
E-Gov Stack for Public/Private Clouds
2. Configure the system's primary ethernet interface as a bridge. The node controller will attach virtual network
interfaces to this bridge for VM that is started before it to enable network connectivity.
• Note: Remember the name of your node's bridge device (we assume the name of your bridge device is
"br0" for the rest of this document).
•
• The following script should configure your bridge correctly in most setups:
interface=eth0
bridge=br0
sudo sed -i "s/^iface $interface inet \(.*\)$/iface $interface inet manual\n\nauto br0\niface $bridge
inet \1/" /etc/network/interfaces
sudo tee -a /etc/network/interfaces <<EOF
bridge_ports $interface
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
EOF
sudo /etc/init.d/networking restart
3. Configure /etc/eucalyptus/eucalyptus.conf with the name of the bridge, and restart the node controller:
sudo sed -i "s/^VNET_BRIDGE=.*$/VNET_BRIDGE=$bridge/" /etc/eucalyptus/eucalyptus.conf
sudo /etc/init.d/eucalyptus-nc restart
• Note that there are several ways to configure a node to have a bridge as its primary interface,
depending on the configuration of your machine. We show an example set of steps here but you will
need to take care to ensure that this example configuration does not conflict with your local
configuration if you wish to use it.
Page 91 of 117
E-Gov Stack for Public/Private Clouds
4. Finally, you need to install the Cluster Controller's eucalyptus user's public ssh key into the Node Controller's
eucalyptus user's authorized_keys file. The easiest way to do this:
• On the Node Controller, temporarily set a password for the eucalyptus user:
sudo passwd eucalyptus
• You can now remove the password of the eucalyptus account on the Node:
sudo passwd -d eucalyptus
1. On the target (CC or WS3) Controller, temporarily set a password for the eucalyptus user:
sudo passwd eucalyptus
3. You can now remove the password of the eucalyptus account on the target:
sudo passwd -d eucalyptus
Registration
To register the controllers on the CLC:
1. Register the WS3 server:
sudo euca_conf --no-rsync --register-walrus <WS3_ipaddresss>
3. Then edit the /etc/eucalyptus/eucalyptus-ipaddr.conf to fill the 3 following variables appropriately with the ip
address of the respective service, replacing the "$addr" value. If you have multiple CC and SC, you can specify
multiple IP addresses separating them with a space.
CC_IP_ADDR="$addr"
WALRUS_IP_ADDR="$addr"
SC_IP_ADDR="$addr"
Page 92 of 117
E-Gov Stack for Public/Private Clouds
Verify Registration
Verify that the registration process was successful by running the following commands
• sudo euca_conf --list-walruses
sudo euca_conf --list-scs
sudo euca_conf --list-clusters
• You can now remove the password of the eucalyptus account on the target controller, if you wish:
• sudo passwd -d eucalyptus
Page 93 of 117
E-Gov Stack for Public/Private Clouds
• Walrus Controller:
sudo start eucalyptus-walrus-publication
• Cluster Controller:
sudo start eucalyptus-cc-publication
• Storage Controller:
sudo start eucalyptus-sc-publication
• Node Controller
sudo start eucalyptus-nc-publication
e.
Verify Registration
cat /var/log/eucalyptus/registration.log
2010-04-08 15:46:36-05:00 | 24243 -> Calling node cluster1 node 10.1.1.75
2010-04-08 15:46:36-05:00 | 24243 -> euca_conf --register-nodes returned 0
2010-04-08 15:48:47-05:00 | 25858 -> Calling walrus Walrus 10.1.1.71
2010-04-08 15:48:51-05:00 | 25858 -> euca_conf --register-walrus returned 0
2010-04-08 15:49:04-05:00 | 26237 -> Calling cluster cluster1 10.1.1.71
2010-04-08 15:49:08-05:00 | 26237 -> euca_conf --register-cluster returned 0
2010-04-08 15:49:17-05:00 | 26644 -> Calling storage cluster1 storage 10.1.1.71
2010-04-08 15:49:18-05:00 | 26644 -> euca_conf --register-sc returned 0
Important! You must use a secure connection, so make sure you use "https" not "http" in your URL. You will get a
security certificate warning. You will have to add an exception to view the page. If you do not accept it you will
not be able to view the Eucalyptus configuration page.
2. Use username 'admin' and password 'admin' for the first time login (you will be prompted to change your password
).
3. Then follow the on-screen instructions to update the admin password and email address.
Page 94 of 117
E-Gov Stack for Public/Private Clouds
4. Once the first time configuration process is completed, click the 'credentials' tab located in the top-left portion
of the screen.
2. To validate that everything is working correctly, get the local cluster availability details:
. ~/.euca/eucarc
euca-describe-availability-zones verbose
AVAILABILITYZONE myowncloud 192.168.1.1
AVAILABILITYZONE |- vm types free / max cpu ram disk
AVAILABILITYZONE |- m1.small 0004 / 0004 1 192 2
AVAILABILITYZONE |- c1.medium 0004 / 0004 1 256 5
AVAILABILITYZONE |- m1.large 0002 / 0002 2 512 10
AVAILABILITYZONE |- m1.xlarge 0002 / 0002 2 1024 20
AVAILABILITYZONE |- c1.xlarge 0001 / 0001 4 2048 20
Page 95 of 117
E-Gov Stack for Public/Private Clouds
2. Enter your login and password (if requested, as you may still be logged in from earlier)
3. Click on the Store tab
Page 96 of 117
E-Gov Stack for Public/Private Clouds
Command Line :
1. Before running an instance of your image, you should first create a keypair (ssh key) that you can use to log into
your instance as root, once it boots. The key is stored, so you will only have to do this once. Run the following
command:
if [ ! -e ~/.euca/mykey.priv ]; then
mkdir -p -m 700 ~/.euca
touch ~/.euca/mykey.priv
chmod 0600 ~/.euca/mykey.priv
euca-add-keypair mykey > ~/.euca/mykey.priv
fi
Note: You can call your key whatever you like (in this example, the key is called 'mykey'), but remember what it
is called. If you forget, you can always run euca-describe-keypairs to get a list of created keys stored in the
system.
2. You must also allow access to port 22 in your instances:
euca-authorize default -P tcp -p 22 -s 0.0.0.0/0
Note: If you receive an error regarding image_id, you may find it by viewing Images page or click "How to Run"
on the Store page to see the sample command.
4. The first time you run an instance, the system will be setting up caches for the image from which it will be
created. This can often take some time the first time an instance is run given that VM images are usually quite
large. To monitor the state of your instance, run:
watch -n5 euca-describe-instances
In the output, you should see information about the instance, including its state. While first-time caching is being
performed, the instance's state will be 'pending'.
5. When the instance is fully started, the above state will become 'running'. Look at the IP address assigned to your
instance in the output, then connect to it:
IPADDR=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $4}')
ssh -i ~/.euca/mykey.priv ubuntu@$IPADDR
6. And when you are done with this instance, exit your SSH connection, then terminate your instance:
INSTANCEID=$(euca-describe-instances | grep $EMI | grep running | tail -n1 | awk '{print $2}')
euca-terminate-instances $INSTANCEID
Page 97 of 117
E-Gov Stack for Public/Private Clouds
1.Add applications
Use the image store on UEC to select the machine image you need.
2. Manage
Use your selected tool to choose and start your machine instances.
You will also use this tool to manage your instances in future.
Page 98 of 117
E-Gov Stack for Public/Private Clouds
3. Customize
Access your instances to set up the applications you want to provide on your cloud from any location.
Page 99 of 117
E-Gov Stack for Public/Private Clouds
1. For the deployment of the customized Application including Apache based Application a.k.a
4.Run the following script to Automate the deployment and give the information as and when asked the installer script.
>> apache_suite_egov.sh
#!/bin/sh
#This script will run in the bourne shell
close=no ;
#Variable to check when to exit the loop
read option ;
#option variable stores the value of currently selected variable
echo $option ;
if [ "$option" = "5" ]
then
close=yes ;
exit
#exit the shell script
fi
if [ "$option" = "1" ]
then
apache_home_expect="/var/www" ;
#default apache home
read apache_home ;
#copy the folder to the specified location
if [ "$apache_home" = "" ]
then
cp -fr blog $apache_home_expect/blog ;
else
cp -fr blog $apache_home/blog ;
fi
fi
if [ "$option" = "2" ]
then
tar -xvf portal_egov.tar.gz ;
#extract the compressed file
apache_home_expect="/var/www" ;
#default apache home
read apache_home ;
#copy the folder to the specified location
if [ "$apache_home" = "" ]
then
cp -fr blog $apache_home_expect/portal_egov ;
else
cp -fr blog $apache_home/portal_egov ;
fi
fi
if [ "$option" = "3" ]
then
tar -xvf collaboration_suite.tar.gz ;
#extract the compressed file
apache_home_expect="/var/www" ;
#default apache home
read apache_home ;
#copy the folder to the specified location
if [ "$apache_home" = "" ]
then
cp -fr blog $apache_home_expect/collaboration_suite ;
else
cp -fr blog $apache_home/collaboration_suite ;
fi
fi
if [ "$option" = "4" ]
then
tar -xvf virtual_learning_environment.tar.gz ;
#extract the compressed file
apache_home_expect="/var/www" ;
#default apache home
read apache_home ;
#copy the folder to the specified location
if [ "$apache_home" = "" ]
then
cp -fr blog $apache_home_expect/virtual_learning_environment ;
else
cp -fr blog $apache_home/virtual_learning_environment ;
fi
fi
done
1.This script will do the step by step installation of the Research Repository for the Government Institutes where Academic
Research is being conducted.
4.Now run the following script and follow the instruction as and when required .
>> install_dspace.sh
Bash Script or automated Installation of the DSpace integrated with the Centralized Authentication Service
#!/bin/sh
#This script is intended to be run on the bourne shell in the Linux Environment (Preferable Deb Based Linux
Distribution)
# This is a comment!
touch dspace_log ;
set `pwd`
echo "=======Log for Apache Maven Inflation start here========" | tee -a $1/dspace_log ;
echo | tee -a $1/dspace_log ;
#Extract the Dspace source code in the working directory within the Directory named : dspace-[version]-src-release
#Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies.
The Java Servlet and JavaServer Pages specifications are developed under the Java Community Process.
#Ant is a Java library and command-line tool. Ant's mission is to drive processes described in build files as targets and
extension points dependent upon each other. The main known usage of Ant is the build of Java applications.
echo "Do the General Configurations of the DSpace [Press enter to continue]" ;
echo "1.JSPUI & XMLUI Configurations" ;
echo "2.JSPUI Specific Configurations" ;
echo "3.XMLUI Specific Configurations" ;
echo "4.OAI-PMH Specific Configurations" ;
echo "5.SWORD Specific Configurations" ;
echo "6.OAI Harvesting Configurations" ;
echo "7.SOLR Statistics Configurations" ;
#wget http://www.java.net/download/jdk7/binaries/jdk-7-ea-bin-b109-linux-i586-09_sep_2010.bin ;
#chmod +x jdk-7-ea-bin-b109-linux-i586-09_sep_2010.bin ;
#jdk-7-ea-bin-b109-linux-i586-09_sep_2010.bin ;
#echo "Please Export Java_Home variable and add it to the System or tell us the place of Java Install we will do that
for you , Apache service will do all these things while starting"
#read java_home ;
#echo JAVA_HOME=$java_home | tee -a /etc/init.d/apache2 ;
read garbage ;
#Wait for the user input.
#This will output the path where the dspace will be installed , for default script to work please use the following as
Dspace home in the Dspace.cfg file.
set `pwd`
echo $1/dspace_install/ ;
#This will tell the actual path where the dspace installatiion has to be done.
read garbage ;
vim dspace-1.6.1-src-release/dspace/config/dspace.cfg ;
cd dspace-1.6.1-src-release/dspace ;
#This will tell the path where to install the Dspace
cd ../../
#Move to the parent Directory
cd dspace-1.6.1-src-release/dspace/target/dspace-1.6.1-build.dir
# This directory will be created after running the Maven.
cd ../../../../
#Again Move to the Parent Directory
read garbage ;
#Wait for the user input.
read garbage ;
#Wait for the user input.
#These are some utilities which will be run first time when you install the Dspace.
dspace_install/bin/checker | tee -a $1/dspace_log
dspace_install/bin/cleanup| tee -a $1/dspace_log
dspace_install/bin/log-reporter| tee -a $1/dspace_log
dspace_install/bin/stat-initial | tee -a $1/dspace_log
dspace_install/bin/stat-report-initial | tee -a $1/dspace_log
dspace_install/bin/index-init | tee -a $1/dspace_log
dspace_install/bin/create-administrator | tee -a $1/dspace_log
1.This will Install the integrated Library Management Software based on koha having Single Sign On Integrated into it for
better manageability and usability .
3.Change the directory to the folder that is being generated after the unzipping of the file.
#!/bin/sh
#This script will run in the bourne shell
read garbage ;
echo "The Index Data packages are signed with a key you can install as follows:"
echo "$ wget http://ftp.indexdata.dk/debian/indexdata.asc"
echo "$ sudo apt-key add indexdata.asc"
read garbage ;
sudo dselect
cd koha-3.00.06/
misc/sax_parser_print.pl
read garbage ;
read garbage ;
perl Makefile.PL
make
make test
sudo make install
read garbage ;
read garbage ;
cd ..
E-Tendering Apps
1.As we all know that tendering system is one of the main and most important procedure of each and every government
office.
2.This e-tendering apps acts as a main backbone for transferring the tendering process from an off-line and tedious task to
a online , more friendly , less time consuming and easy task.
3.The users in the government office can directly log into the system and release the tenders filling the form.
4.Those want to bid for the document first of all need to register with the government agency.
5.Once they are registered they can login into the system and apply for the tender of their choice
6.They need to submit the bid document in encrypted form i.e. password protected to protect it from any intrusion.
7.When the bid is opened the documents can be opened anytime by the responsible authority
Technology Used
1.As the e-tendering apps has a lot of traffic generated so , it is advisable to go for non /*PHP*/ based solution .
2.The best available and high performing solution is Django which is a High Performance python framework.
- ------------------------------------------------------------------
- -- Host: localhost
- -- Generation Time: Oct 09, 2010 at 02:21 PM
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_group`
- --
- --
- -- Dumping data for table `auth_group`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_group_permissions`
- --
- --
- -- Dumping data for table `auth_group_permissions`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_message`
- --
- --
- -- Dumping data for table `auth_message`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_permission`
- --
- --
- -- Dumping data for table `auth_permission`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_user`
- --
- --
- -- Dumping data for table `auth_user`
- --
'sha1$ef0f3$7c3a0e6af2f1ad72205c73d74a17bd3ef20d09bb', 1, 1, 1,
'2010-10-09 14:20:51', '2010-10-09 14:20:26');
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_user_groups`
- --
- --
- -- Dumping data for table `auth_user_groups`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `auth_user_user_permissions`
- --
- --
- -- Dumping data for table `auth_user_user_permissions`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `django_admin_log`
- --
- --
- -- Dumping data for table `django_admin_log`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `django_content_type`
- --
- --
- -- Dumping data for table `django_content_type`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `django_session`
- --
- --
- -- Dumping data for table `django_session`
- --
'gAJ9cQEoVRJfYXV0aF91c2VyX2JhY2tlbmRxAlUpZGphbmdvLmNvbnRyaWIuYXV0aC5iYWNrZW5k\ncy5Nb2RlbEJhY2tlbmRxA1U
NX2F1dGhfdXNlcl9pZHEEigEBdS5lODUzMDllY2I1OTM2OGNlMTZi\nZGYzZWM0YjRmOTg5MQ==\n',
'2010-10-23 14:20:51');
- -- --------------------------------------------------------
- --
- -- Table structure for table `django_site`
- --
- --
- -- Dumping data for table `django_site`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `etenders_tender`
- --
- --
- -- Dumping data for table `etenders_tender`
- --
- -- --------------------------------------------------------
- --
- -- Table structure for table `etenders_tenderapply`
- --
- --
- -- Dumping data for table `etenders_tenderapply`
- --
#manage.py
#!/usr/bin/python
from django.core.management import execute_manager
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized
things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's
causing an ImportError somehow.)\n" % __file__)
sys.exit(1)
if __name__ == "__main__":
execute_manager(settings)
#setting.py
# Django settings for gaurav project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
ADMINS = (
# ('Your Name', '[email protected]'),
)
MANAGERS = ADMINS
# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'Asia/Kolkata'
# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
ROOT_URLCONF = 'gaurav.urls'
TEMPLATE_DIRS = (
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'gaurav.etenders',
'django.contrib.admin',
)
#urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('',
# Example:
# (r'^gaurav/', include('gaurav.foo.urls')),
class tenderapplyinline(admin.TabularInline):
model = tenderapply
extra = 0
class tenderadmin(admin.ModelAdmin):
list_filter = ['pub_date' , 'department']
search_fields = ['tenderno' , 'department']
inlines = [tenderapplyinline]
list_display = ('tenderno' , 'department' ,'pub_date')
admin.site.register(tender, tenderadmin)
class tenderapplyadmin(admin.ModelAdmin):
list_display = ('tender' , 'company' ,'company_website' , 'person_name' , 'email_id' , 'encrypted_document_url')
list_filter = [ 'company' ,'company_website' , 'person_name' , 'email_id']
search_fields =[ 'company' ,'company_website' , 'person_name' , 'email_id' ]
admin.site.register(tenderapply , tenderapplyadmin)
class tenderapplyinline(admin.TabularInline):
model = tenderapply
extra = 0
class tenderadmin(admin.ModelAdmin):
list_filter = ['pub_date' , 'department']
search_fields = ['tenderno' , 'department']
inlines = [tenderapplyinline]
list_display = ('tenderno' , 'department' ,'pub_date')
admin.site.register(tender, tenderadmin)
class tenderapplyadmin(admin.ModelAdmin):
list_display = ('tender' , 'company' ,'company_website' , 'person_name' , 'email_id' , 'encrypted_document_url')
list_filter = [ 'company' ,'company_website' , 'person_name' , 'email_id']
search_fields =[ 'tender' , 'company' ,'company_website' , 'person_name' , 'email_id' ]
admin.site.register(tenderapply , tenderapplyadmin)
class tender(models.Model):
tenderno = models.CharField(max_length=50)
department = models.CharField(max_length=50)
class tenderapply(models.Model):
tender = models.ForeignKey(tender)
company = models.CharField(max_length=50)
company_website = models.CharField(max_length=50)
person_name = models.CharField(max_length=50)
email_id = models.CharField(max_length=50)
encrypted_document_url = models.CharField(max_length=50)
def __unicode__(self):
return self.company
class tender(models.Model):
tenderno = models.CharField(max_length=50)
department = models.CharField(max_length=50)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.tenderno
class tenderapply(models.Model):
tender = models.ForeignKey(tender)
company = models.CharField(max_length=50)
company_website = models.CharField(max_length=50)
person_name = models.CharField(max_length=50)
email_id = models.CharField(max_length=50)
encrypted_document_url = models.CharField(max_length=50)
def __unicode__(self):
return self.company