text:
Sakai Collaboration and Learning Environment (CLE) 2.8
The Sakai Collaboration and Learning Environment (CLE) is a Java-based, service-oriented web application that provides a variety of capabilities supporting teaching and learning, portfolios, research, and ad-hoc project collaboration. The Sakai CLE is typically deployed using Apache Tomcat as its servlet container and scalability is achieved by running multiple instances of Tomcat in a clustered environment, each deploying a copy of the Sakai CLE. It integrates with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth. A single database, usually MySQL or Oracle, provides a transactional store of information while file storage is typically delegated to NAS or SAN solutions. In most production settings, the Sakai CLE relies on a back-end student information system (SIS) to provide it with student and course information, which the Sakai CLE consults via provider APIs.
The Sakai CLE 2.8 release builds on previous releases by refining and stabilizing the 2.x feature set. It offers dozens of new features and improvements to key areas like accessibility, internationalization, performance, and security.
Icons are used throughout the release notes to highlight important points in the installation, configuration, build and deployment process. Below is a list of the icons you will encounter:
Hints Useful Information Caution Warning Good practice Bad practice
The documentation is presented here for ongoing comment, correction, and clarification, so please use the "Add Comment" link at the bottom of any of these pages if you note errors, require further details or have tips to share.
What's new
System requirements
Operating system (OS) choices
The Sakai CLE is OS neutral. It is typically run on any of the numerous Linux distributions such as CentOS, Debian GNU/Linux, Fedora, Gentoo Linux, Red Hat Enterprise Linux (RHEL), SuSe Linux, Ubuntu but is also run on Mac OS X server, Microsoft Windows and Sun Solaris. Operating systems other than Linux are not nearly as well tested, and all of the community QA servers are running Linux, so this is generally the recommendation.
Cerritos College, Windows 2003.
Georgia Tech, RHEL.
Indiana University, RHEL.
Mount Holyoke College: Debian GNU/Linux.
Oxford University: Debian GNU/Linux.
Rutgers University: Sun Solaris.
University of California, Berkeley: Sun Solaris.
University of Cape Town: SuSe Linux.
University of Florida: RHEL.
Universidad de Murcia: CentOS.
University of Virginia: Fedora.
Virginia Tech: Ubuntu.
Oracle's Sun Java SE 6, a.k.a Java 1.6, is the preferred version to use with the Sakai CLE. Certain files, such as *.jsp and *.jws, require compilation so downloading and attempting to use only the run time environment (JRE 6.0) will not suffice. Mac OS X 10.6 (Snow Leopard) includes the full version of Java SE 6 so Mac users do not need to install Java. If you find Sun's version and naming conventions confusing, see Sun Java SE Naming and Versions for an outline of their practices.
Oracle's Sun Java J2SE 5.0 (a.k.a Java 1.5) has completed the EOL process and is no longer supported. If are still running Java 1.5 please note that security vulnerabilities exist in JDK/JRE 5.0 updates 1.5.0_17 and earlier.
For Sakai 2.9 OpenJDK and JDK 7 are supported along with JDK 6. Previous releases would not work with OpenJDK.
Application server choices
The Sakai Community is overwhelmingly an Apache http/Apache Tomcat user community and the Sakai CLE is at home in such an environment. Some Several schools run their Tomcats with Windows IIS and nginx proxies without issue. Since Sakai CLE 2.7.0 a Websphere module was included in the release in order to facilitate deployment to a Websphere/Db2 production environment; however, support has waned and the Websphere option is currently considered deprecated. A few schools such as Hong Kong University of Science and Technology and the Universidad de Guadalajara report deploying Sakai on JBoss.
Database choices
Sakai CLE production installations typically run either Oracle 10g/11g or MySQL 5.0/5.1. Support for IBM Db2 was added for the Sakai CLE 2.7.0 release but for 2.8.0 DB2 conversion scripts were not updated or tested and are currently considered deprecated. A demo version of Sakai includes HSQLDB; it should never be deployed in production.
It should be noted that Sakai is not limited to these database choices and integration with other RDBMS systems is not difficult. In the past at least one installation used Microsoft SQL Server while requests for PostgreSQL integration are occasionally raised on the Sakai developers list. However, to date no one in the Sakai Community has stepped forward to support alternatives to either Oracle or MySQL, a prerequisite for adding additional database options to the release.
Australian National University, MySQL 5.1
Indiana University, Oracle 10g
Oxford University, MySQL 5.0
Stanford University, Oracle 10g
Texas State University, San Marcos, MySQL 5.1
University of Cape Town, MySQL 5.1
University of Florida, Oracle 11g
University of Virginia, MySQL 5.0
University of Michigan, Oracle 10g
Virginia Tech, Oracle 11g
Clustering, file storage and load balancing strategies
A typical Sakai CLE cluster is comprised of one or more application servers running one or more instances of Tomcat 5.5 operating either in standalone mode or behind the Apache HTTP 2.2 web server. Each Tomcat instance runs a full copy of the Sakai CLE. The cluster is backed by a single database providing a transactional store of information. Storing binary content outside the database is a configurable option in Sakai and highly recommended from a performance standpoint. Most Sakai schools with sizable user populations opt for network-attached storage (NAS) or storage area network (SAN) solutions. Load balancing is provided by Apache (using mod_jk, mod_proxy_balancer or mod_proxy_ajp) or dedicated hardware solutions such as F5 BIG-IP, NetScaler or Zeus.
Three examples should suffice:
University of Cape Town
User base: 27,000+
Cluster: six Dual Xeon 3.6 GHz 8G RAM, 64-bit SuSe Linux (4 x physical servers, 2 x VMWare servers).
App servers: Apache HTTP server 2.2, Tomcat 5.5, Sakai 2.7.1.
Database: MySQL 5.1, 2 x dual-core processors, 16G RAM.
File storage: SAN Disk shared via NFS.
Load balancing: Apache 2.2 with mod_jk.
University of Michigan
User base: 45,000+
Cluster: five Dell PowerEdge 1950 boxes, each with 16 GB RAM running 64-bit RHEL 5.x (a sixth PowerEdge 1950 is utilized outside the cluster as a search server).
App servers: Apache HTTP server 2.2, fronting a single Tomcat 5.5/Sakai 2.7.1 install. One Java 1.6 JVM is configured per server with a 6 GB heap.
Database: Oracle 10g running on a Sun Fire T5120 with 128 GB RAM and Solaris 10 as the OS.
File storage: allocated 6 TB of disk space and stored externally in a NetApp FAS3020 filer, NFS mount.
Load balancing: two NetScaler RS9800 Secure Application switches.
Indiana University
User base: 100,000+
Cluster: two HP DL740 servers, 8-way with 3.0 GHz CPUs, 64 GB RAM and an IBM ESS "Shark" SAN running nine virtual application servers.
App servers: each virtual server is allocated 2 CPUs and 3.6 GB RAM and runs Apache HTTP 2.2/Tomcat 5.5.
Database: the Oracle 10g database is also a virtual instance housed on a Dell 810, dual socket, Quad Core server. The database is allocated 8 CPU and 32 GB RAM.
File storage: allocated 7 TB of disk space and is stored externally utilizing two NetAppliance FAS920C filers, NFS mount.
Load balancing: two HP DL385 servers running Zeus ZXTM load balancers. The load balancers run under Red Hat Enterprise Linux (RHEL) within VMware virtual machines and the architecture allows for more horizontal scaling if required.
See also:
External Authentication choices
The Sakai CLE can integrate with a variety of external authentication services including CAS, Kerberos, LDAP, Shibboleth and WebAuth.
Australian National University: LDAP.
Indiana University: CAS.
Georgia Tech: CAS.
Oxford University: WebAuth.
Pepperdine University: CAS.
Stanford University: Kerberos.
Stockholm University: Shibboleth.
University of California, Davis: CAS.
University of Delaware: LDAP.
University of Hawaii: LDAP.
University of Michigan: Kerberos.
University of Florida: Shibboleth.
Yale University, CAS.
Integrating with student information systems
Sakai Community institutions have integrated their Sakai CLE installations with Banner, Datatel and Peoplesoft as well as a variety of home-grown student information systems (SIS).
The Sakai CLE has two basic approaches to integrating data from external systems. Most sites use a combination of these approaches. The first approach is to use the internal Sakai "provider" APIs. These APIs are places for Sakai to "consult" while Sakai is running. There are APIs for User Identity, User Directory, Course Listing and User Roles.
User Identity API: allows Sakai to call local code to validate users when they log into the system. This commonly uses Kerberos, Active Directory or LDAP to validate the user's credentials.
User Directory API: allows user information such as name and e-Mail address to be retrieved from an external system such as LDAP or X.509. The User Directory API has provisions to allow the local site to make decisions when to display student information in order to meet FERPA requirements. Each institution has different interpretation of FERPA so the precise FERPA decisions are delegated to the User Directory API.
Course Listing API: consulted when the instructor is creating a course site - this API returns the list of externally stored rosters for which the current user is the instructor. The user can select from one or more of these external rosters to associate with the course they are creating.
User Role API: is consulted when users log in to determine which external rosters they user is a member of and what their role is within those rosters. The Sakai internal configuration is updated if there are any changes to an individual's roster status.
The above API's are "pull" APIs--they are consulted when the user logs in or tries to take some action. The Course List API described above does not auto-populate courses.
If there is a desire to "push" information into the Sakai CLE, there are two approaches - Quartz and web services.
Sakai utilizes an internal batch system called Quartz that provides a cron-like capability within Sakai. Quartz is used by creating a Java class that does the necessary work and then having Quartz schedule the regular execution of that Java code.
A more common approach to pushing configuration information into Sakai is through web services. Any of Sakai's APIs can be accessed by web services. Web service access points have been developed for many of the common Sakai APIs used for configuration. These SOAP web services can be called from PHP, Python, Perl, Java, .NET or any other language. The Sakai CLE web service data structures are kept simple to insure the widest possible interoperability with as many languages as possible. Administrators often build scripts to pull data from their SIS system and populate the Sakai CLE with that data. These scripts may be automated using cron or manually executed by the administrator at the proper time during a semester.
This combination of pull/push configuration capabilities allows for a very wide range of integration possibilities for the Sakai CLE.
To download the Sakai CLE 2.8.3 release, you need to check out the code from our Subversion repository:
svn co https://source.sakaiproject.org/svn/sakai/tags/sakai-2.8.3/
Indie projects
A number of Sakai CLE projects (known collectively as "indie" projects) are currently not included in either the source archive or source check out. Instead, these projects are downloaded, installed in your local.m2
repository and then deployed to Tomcat as *.zip overlays during the Maven build process. If you need to apply any local customizations to these projects you must check out the code separately.Indie project teams manage their own release cycles independently of the general Sakai CLE release cycle, permitting more frequent "off-cycle" maintenance releases for key projects such as the Kernel or Test and Quizzes. This means you can upgrade them in your release more frequently, if you desire.
Each Indie project site includes a variety of reports regarding the release, including Javadocs.
CLE Release | Project Site | Version |
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 |
Demo install
Sakai CLE 2.8 install guide (demo) (for 2.8.2 and lower)
Binary install
Sakai CLE 2.8 install guide (binary) (for 2.8.2 and lower)
Source install
Sakai CLE 2.8 install guide (source)
Upgrading from an earlier version of Sakai typically involves a database conversion (for which scripts are supplied with the release), an update to custom skins and possibly changes to any custom code.
1.0 Database Conversions
A database conversion is typically required in order to upgrade from one Sakai version to another. Database conversion scripts - in distinct versions for MySQL and Oracle, respectively - are found in thereference/docs/conversion
folder of the release or in our SVN repository.In the same directory you will also find conversion scripts for earlier Sakai releases. Migration from an earlier version will require the successive application of all intermediate scripts (see the following table). You cannot, for example, move from 2.6.1 to 2.9.0 by applying a single script. You will need to run 6 or 7 scripts all in a row.
Note for oracle, some of the scripts will leave your indexes in an invalid state because of LONG->CLOB conversion. You will need to run this script to find the invalid/unusable indexes, THEN run the result of this script to alter these indexes.
select 'alter index '||index_name||' rebuild online;' from user_indexes where status = 'INVALID' or status = 'UNUSABLE';
-- Run the resulting SQL commands this script generates if any)
As a general rule, be sure to read through the conversion scripts before applying them. The conversion scripts are generic in the sense that they do not take into account any special customizations you may have made - such as new roles, or the deployment of additional tools or if you are migrating from 2.4.x - and they may complicate your migration with unintended consequences if you execute them blindly.
For conversions prior to 2.6 please see the 2.8 install guide. Conversions from much older are not very well supported or tested but should still work.
Upgrade Step | MySQL | Oracle | Notes |
2.6.0 | Use scripts updated in 2.6.x branch (r65964+). Include fixes for SAK-16751 - Comment out site.add.course backfill SQL ( Closed) , SAK-16753 - new 2.6 asn.share.drafts permission should be added into conversion script ( Closed) and SAK-16809 - 2.6.0 upgrade script has index, column add in wrong order, related to SAK-16554 ( Closed) . If you are upgrading from 2.5 please review SAK-15597 - Setting schedule: tool property always causes an exception. ( Closed) for an important property setting issue (not a database conversion issue). | ||
2.6.0 to 2.6.x | SAK-16668 - assignments / private notes and model answers does not display proper error message for text over 255 characters ( Closed) : if you upgraded to Sakai 2.6.0 PRIOR to 1 Sept 2009 you must run this conversion to update data types in ASN_MA_ITEM_T and ASN_NOTE_ITEM_T. | ||
2.6.0 to 2.6.x |
Conversion script for 2.6.1 is slow to run on large assignment data sets and should be improved
( Closed)
Incorrect internationalization showing the grade NO GRADE
( Closed)
: Matt Jones (UMich) reports that the original 2.6.0 to 2.6.1 conversion script for the | ||
2.6.0 to 2.6.x |
asn.share.drafts permission should be added into 2.6.1 conversion script
( Closed)
: adds | ||
2.6.0 to 2.6.x |
Abiliy to lock profiles
( Closed)
: updates existing entries in SAKAI_PERSON_T setting the field | ||
2.6.0 to 2.6.1 | Rollup of 2.6.0-2.6.x conversion scripts 001-004 above. | ||
2.6.1 to 2.6.2 | | | no schema changes |
2.6.0 to 2.6.x | SAK-14482 - Mercury site has old assignments tool ( Closed) : replace the "mercury" site's sakai.assignment tool (deprecated since 2.5.0) with the sakai.assignment.grades tool. | ||
2.6.2-2.7.0 | | ||
2.7.0-2.7.1 | | ||
2.7.1-2.7.2 | | ||
2.8.0 | 2.7.1 to 2.8.0 database conversion. | ||
2.8.0 | Starting up sakai-2.8.0 in order to populate an empty database (auto.ddl=true) can result in certain tools relying on Hibernate 3.2.7.ga to generate indexes to fail to do so. Check database and then run this script to add missing indexes. | ||
2.8.1 | sakai_2_8_0-2_8_1_mysql_conversion.sql | sakai_2_8_0-2_8_1_oracle_conversion.sql | Conversion from 2.8.0 to 2.8.1 can result in lost mail messages. See SAK-21305 - 2.8.0 to 2.8.1 conversion loses mail messages ( Closed) for details on how to fix.This should only affect cases for which 2.8.0 was actually RUN in production, not if 2.8.0 is just one step in your upgrade process. |
2.8.2 | sakai_2_8_1-2_8_2_mysql_conversion.sql | sakai_2_8_1-2_8_2_oracle_conversion.sql | |
2.8.3 | sakai_2_8_2-2_8_3_mysql_conversion.sql | sakai_2_8_2-2_8_3_oracle_conversion.sql | |
2.9.0 | sakai_2_9_0_mysql_conversion.sql | sakai_2_9_0_oracle_conversion.sql | For languages other than English, Catalan and Spanish please see SAM-787 - Incorrect internationalization in survey questions ( Closed) . |
2.9.1 | sakai_2_9_1_oracle_conversion.sql | ||
2.9.2 | LTI 2_1_0_mysql_conversion.sql |
2.0 Other Database Conversions
The Sakai CLE also includes data and schema conversions outside the standard scripts to address data integrity issues for assignments, content hosting and email archive. Below is a quick summary and overview of the process for each tool.
2.1 MailArchive conversion (2.5 -> 2.6)
SAK-13584 - Further Improve the Performance of the Email Archive and Message API ( Closed) , SAK-16554 - Email archive conversion script is difficult to use and requires a maven source repository ( Closed) : Sakai 2.6 improvements to the Message API require that implementers upgrading from a pre-2.6 version of Sakai run both the 2.6.0 conversion scripts and a secondmailarchive-runconversion.sh
script that can be found in the mailarchive module in order to update your existing mail archive data to take advantage of the 2.6 Email Archive performance improvements.
-- SAK-13584 Further Improve the Performance of the Email Archive and Message API. Note you have to run a bash conversion script on your old mail archive data for it to -- appear in the new mail archive. The script is in the source as mailarchive-runconversion.sh. Please see the SAK for more information on this script or SAK-16554 for -- updates to this script. CREATE INDEX IE_MAILARC_SUBJECT ON MAILARCHIVE_MESSAGE ( SUBJECT ASC ); ALTER TABLE MAILARCHIVE_MESSAGE ADD COLUMN ( SUBJECT VARCHAR (255) NULL, BODY LONGTEXT NULL );
2.2 Assignments Tool conversion
This conversion was a part of the post-2.4 assignments branch so those migrating from a version already running this can disregard this step.SAK-11821 - AssignmentService allows creation of duplicate submission objects, need to separate submitter_id out to form unique constrait, and improve tool performance by using new db columns ( Closed) : The assignment service previously permitted the creation of duplicate submission objects (i.e. two or more submissions for the same student and assignment). While the UI should prevent this from happening, at various stages in the evolution of the Assignments code, bugs, race conditions or other failures have led to duplicate objects being created. This conversion seeks to reconcile those duplicates and add database constraints to prevent this is the future.
In summary, the conversion script is necessary to
- Remove existing duplicate submission records, if any
- Prevent future submission duplicates by applying unique constraint on the ASSIGNMENT_SUBMISSION table
- Improve performance of the Assignment tool
The conversion script does the following to the existing ASSIGNMENT_SUBMISSION table in Sakai database:
- read in all tuples as AssignmentSubmission object, parse out data such as submitter_id, submit_time, submitted, and graded, and stores those attributes as separate columns in the ASSIGNMENT_SUBMISSION table;
- Runs though the table, combine and remove submission duplicates (tuples with same "context" and "submitter_id" combination);
- apply the unique constraint of "context" + "submitter_id" to ASSIGNMENT_SUBMISSION table.
There is a README file with detailed instructions on this process at https://source.sakaiproject.org/svn/assignment/tags/sakai_2-7-0.
2.3 Content Hosting
Migrating from 2.4 to 2.5 requires adding several columns to the database tables used by the Content Hosting Service (the service used by the Resources tool, Dropbox, filepicker and WebDAV). The conversion scripts contain DDL statements to accomplish those changes. You need to run these conversions scripts (or perform the equivalent operations manually) and then convert your existing Resources via one of the methods outlined below, before you will gain the performance improvements Sakai 2.5 offers.The new columns added to the database tables support a switch from XML serialization to "binary-entity" serialization, and enable Resources to perform faster and use less memory. One of the key areas this impacts is improving the performance of quota calculations.
There are two methods for converting existing Resources, with the first being the recommended option, as it enables all performance improvements when completed:
- Run the conversion utility, which can be run on a live system. (See readme for more details.)
- Systems running oracle should read the email threads copied to the comments section below.
- Let the code convert each Resource as it is accessed.
- This is only recommended for implementations with small datasets, such as pilot deployments; otherwise you should use the above conversion utility.
- While some performance benefits from the binary-entity serialization can be realized immediately using this method, others, such as the quota calculation improvements will not be available until all Resources have been accessed and converted.
Based on the state of the data in the Content Hosting Service tables, it will start up in one of two modes:
- Binary only - If the code detects on start-up that all of the XML fields are null – as would be the case after running the conversion utility – it will run in binary mode. The means the system will only read and write using binary-entity serialization, and you will be able to fully realize all the performance enhancements that it offers.
- Dual mode - If the code detects there is still data in the XML fields – as would be the case if the conversion utility has not be run – it will run in dual mode. This means the system will be capable of reading both XML-serialized and binary-entity-serialized resources, but will write using only binary, and will convert any XML data it encounters into binary data. This gives you some of the performance benefits of binary-entity serialization without running the conversion utility, but you will never get the quota-calculation improvements unless all Resources end up converted.
3.0 Portfolios (OSP) permission settings
SAK-13205 - Permissions for CIG Participant are empty for 2.5 upgrade ( Closed) : if you are upgrading from a pre-2.5.0 version of Sakai, then you need to force conversion of the OSP permissions by settingosp.upgrade25=true
in your sakai.properties
file. (See also discussion.)
4.0 Deprecated Discussion Tool
Commencing with Sakai 2.5, Sakai packaged distributions, tags or maintenance branches no longer include the Discussion tool. It has been retired and removed from the release, since there was no longer an active project team supporting the tool nor actively used by production institutions. feedback The Forums tool provides a viable alternative.If you are upgrading and previously used the Discussion tool, you have two options:
- Continue using Discussion. A 2.5-compatible version of the Discussion tool is available in Contrib. You can build it and add it to your Sakai instance. No one has committed to supporting this version of the tool though, and you should not rely on it remaining available for future Sakai releases.
- Migrate Discussion content to Forums. A utility for converting Discussion tool content to Forums tool content is available in Contrib. See the
file for more information.
1.0 Create a sakai.properties
The sakai.properties
file is a central configuration file that is typically stored in a /sakai
subdirectory relative to the Tomcat home directory ($CATALINA_HOME
). It is a non-XML text file containing a series of key/value pairs that is read using the load method of java.util.properties. Settings in sakai.properties
govern everything from setting your institution's name to configuring your database. All settings in sakai.properties
are read on startup; any changes you make subsequently will only take effect when you restart web application server.For a source installation the default default.sakai.properties
file is located in the config
A sample sample.sakai.properties
file that documents many of the standard properties can also be found in config
The bin package does not include a sakai.properties
file. This is a deliberate exclusion; it eliminates the possibility of overwriting a local sakai.properties
file if a bin package is opened over an existing Sakai installation.
If you need to override the default settings you must create your own sakai.properties
file either from scratch or from a known working copy adding new key/value settings in order to customize your installation. As examples we recommend that you review the default.sakai.properties
and/or sample.sakai.properties
files included in the source installation or in the appropriate maintenance branch. Since any component property can in principle be overridden by a sakai.properties
setting, sample sakai.properties
files will show only a small fraction of all the possible settings.
Version | default | sample |
2.9 | default.sakai.properties | sample.sakai.properties |
2.8 | ||
2.7 | ||
2.6 |
The default location for your local sakai.properties
file is $CATALINA_HOME/sakai
. This folder is not created by Maven during the build and deployment process, so you will have to create it manually or via a script. You can also store Sakai's configuration files outside of your web application server's file hierarchy. For example, in a development environment you may find yourself frequently reinstalling Tomcat and unless you create a build script to automate the Tomcat installation and configuration process avoiding having to recreate $CATALINA_HOME/sakai
and sakai.properties
each time has its advantages.
To locate your properties file outside of your web application server environment modify the Java startup command or the JAVA_OPTS
environment variable and set a system property named sakai.home
. Make sure your external location is readable and writable by your web application server.
settings, see the sakai_properties.doc
in /reference/docs/architecture/sakai_properties.doc
2.0 Configure home page tool set per site
Tool collections for the home page can be configured for each site type. However, if thewsetup.home.toolids.*
property is not set, the Worksite setup tool will default to the following set of tools for the home page: sakai.iframe.site
, sakai.summary.calendar
, sakai.synoptic.announcement
, sakai.synoptic.chat
, sakai.synoptic.messagecenter
. Synoptic tools will be added or dropped from home page depending on whether their linked tool exists in the site or not. See
Upgraded site: editing My workspace leads to duplicate Home
( Closed)
tools are not auto-added into Home tool page
( Closed)
for more details.
wsetup.home.toolids.count=5 wsetup.home.toolids.1=sakai.privacy wsetup.home.toolids.2=sakai.iframe wsetup.home.toolids.3=sakai.synoptic.announcement wsetup.home.toolids.4=sakai.synoptic.chat wsetup.home.toolids.5=sakai.synoptic.messagecenter
3.0 Work site setup group helper
A new group helper is enabled by default (see SAK-13413 - Group creation enhancement ( Closed) for more details). Site maintainers can now create groups based on sections and roles. To switch back to the old 2.5 style of group helper (ad-hoc only), one needs to add following setting insakai.properties
wsetup.group.helper.name = sakai-site-manage-group-helper
4.0 Session timeout warning
Sakai includes a property called firstname.lastname@example.com, which dictates the length of inactive time before a users session times out and allows for the enabling of a session timeout warning. Session status is now checked by the Sakai portal. If the remaining session time is less than the warning time (say 10 minutes). When a session expires, the any page requests are redirected to the URL indicated by theloggedOutUrl
sakai property. See
Session Timeout Popup Utilizing Polling data from entity broker
( Closed)
Sakai should warn a user before the user's session times out and data is inadvertently lost
( Closed)
for more details.
To enable the session timeout warning, set the following properties in your local sakai.properties
with a time interval of your choosing:
timeoutDialogEnabled=true timeoutDialogWarningSeconds=600
5.0 Configure email
Enabling Sakai to both send and receive email requires setting a number of properties insakai.properties
. In order to send mail Sakai requires the address (name or IP) of an external SMTP server that will accept mail from Sakai:
Sakai's SMTP server is Apache James. Most sys admins prefer running a standard mailer like Postfix on port 25 (rather than James directly) and configuring it to forward requests to Sakai. You may also currently have a mailer service running on port 25 (Linux usually has it running by default). So consider setting James to run on a different port (e.g., 8025) in order to avoid conflicts.
To enable Sakai to receive mail you'll need to set the following properties:
# flag to enable or disable James for incoming email (true | false) #Default=false. smtp.enabled=true # dns addresses used by James for incoming email. smtp.dns.1=255.255.255.1 smtp.dns.2=255.255.255.2 # SMTP port on which James runs. # Recommend running on 8025, and using a standard mailer on 25 to forward mail to Sakai. # Default=25. smtp.port=8025
Additional settings can be enabled to add support emails for a variety of tasks.
# Email support address used in incoming email rejection messages. mail.support=address@somedomain # Email address to send errors caught by the portal, and user bug reports in response. portal.error.email=address@somedomain # Email address used as the "from" address for any email sent by Worksite Setup tool or Site Info tool. setup.request=address@somedomain # Send an email to the user when the user is added. notifyNewUserEmail=true
6.0 Configure logging
Once you have Sakai installed, configured and started, you can monitor Sakai by watching the logs. The log level for the standard Sakai source code and the demo is set to show info and warnings only. Watch for theWARN:
messages. There are going to be some "normal" ones at startup, and some will likely slip by at runtime, but any warning is potentially something you might want to check out.
Logging levels can be specified in sakai.properties
. This augments and overrides the levels set in the default config file. Example:
log.config.count=3 log.config.1 = ALL.org.sakaiproject.log.impl log.config.2 = OFF.org.sakaiproject log.config.3 = DEBUG.org.sakaiproject.db.impl
This uses the established (if awkward) method of having a name.count
followed by name.1
, name.2
etc. to form an array of strings for the value "name". In this case, the name is "log.config". The values are of the form LEVEL.logger
, and the possible levels are: OFF TRACE DEBUG INFO WARN ERROR FATAL ALL
Sakai uses log4j for logging. See the official log4j documentation for more information about how to configure it if you have questions, but a few notes are collected here below.
To change the logging for Sakai in the source modify kernel/kernel-common/src/main/config/log4j.properties
the following property:
To turn on debug logging for all of Sakai, change the value from INFO to DEBUG. In order to enable debug logging for a single Sakai components, add a line such as in the following example, which will leave most of Sakai at INFO, but generate DEBUG level messages for the SQL service:
log4j.logger.org.sakaiproject=INFO log4j.logger.org.sakaiproject.component.framework.sql.BasicSqlService=DEBUG
The logging controls are part of the LogConfigurationManager, implemented as a component in the Kernel. It can be disabled, if that's desired, with an entry in sakai.properties
firstname.lastname@example.com = false
For Mac and *nix systems, the most important log is found in Tomcat's logs/catalina.out
. It can be instructive to watch this log as Tomcat is starting up, by using a startup command like the following:
bin/startup.sh; tail -f logs/catalina.out
Tomcat on Windows tends to be a little more puzzling about its logs, and it includes more of them, but its default behavior is to open catalina.out
in a new window as soon as you start Tomcat. If you need more information about the logs in Windows, we'll refer you to the official Tomcat documentation.
The SMTP server logs from Sakai will be written to the $CATALINA_HOME/sakai/logs directory.
New properties, permissions
1.0 Property additions/changes
Release |
Tool/Service |
Property |
Default |
Ticket |
Change |
2.8.0 |
account |
user.recaptcha.enabled |
false |
SAK-12489 - Allow captcha support for new account signups. ( Closed) , SAK-19267 - Rename properties in SAK-12489 (Captcha for new user accounts) ( Closed) |
Enable/disable reCAPTCHA. To configure, signup at http://www.google.com/recaptcha, get the API keys, and plug it into sakai.properties as in the description. |
2.8.0 |
assignments |
assignment.letterGradeOptions |
SAK-18752 - Provide a way to customize letter grades in the Assignments tool ( Closed) | Provide a way to customize letter grades in the Assignments tool. Values specified will display in the drop-down list for letter grade assignment. |
2.8.0 |
basiclti |
basiclti.outcomes.enabled |
false |
SAK-24044 - Add Support for Basic Outcomes and Settings Service ( Closed) | Added support for basic outcomes and settings service. |
2.8.0 |
basiclti |
basiclti.roster.enabled |
false |
SAK-24059 - Implement IMS BLTI Context Memberships Service ( Closed) | Allows an external tool (if granted proper permissions) to retrieve a course roster for the course that they were launched from. This allows the launch to specify a URL that contains some resource content. |
2.8.0 |
basiclti |
basiclti.contentlink.enabled |
false |
SAK-24054 - Add Support for the IMS BLTI ext_resource_link_content extension ( Closed) | This allows the launch to specify a URL that contains some resource content. |
2.8.0 |
common |
profile.autoCleanUp |
true |
Loading …
Enables a listener that looks for user.del events and when they happen remove that users profiles. |
2.8.0 |
editor |
Loading …
Addition of option to specify |
2.8.0 |
entity broker |
entitybroker.maxJSONLevel |
7 |
SAK-18643 - Add the ability to specify the depth of object graph serialisable to JSON ( Closed) | Add the ability to specify the depth of object graph serialisable to JSON |
1.2.1 |
kernel |
email@example.com |
true |
KNL-499 - Allow ability to turn off automatic "promotion" to provided user ( Closed) | Adds ability to turn off automatic "promotion" to provided user that was implemented in KNL-403 |
1.2.1 |
kernel |
mail.*.sendpartial |
true |
KNL-570 - Add sakai property to set sendpartial Email property ( Closed) | Property added to set sendpartial Email |
1.2.1 |
kernel |
sakai.X-UA-Compatible |
IE=EmulateIE8 |
KNL-697 - Create compatilbity patch for IE9 ( Closed) | Property added to pass X-UA-Compatible header for Compatibility mode. Default to EmualteIE8 |
1.2.1 |
kernel |
load.bundles.from.db |
false |
KNL-563 - apply kernel changes for dynamic resource loader ( Closed) | Property added to load msg bundle data from data base |
1.2.1 |
kernel |
load.bundles.from.db.timeout |
30000 |
KNL-563 - apply kernel changes for dynamic resource loader ( Closed) | Property added to control the number of milliseconds before rechecking database for updates, the default is 30 secs. |
2.8.0 |
login |
login.k2.authentication.autoProvisionUser |
false |
Loading …
Loading …
Create a new container authN filter which authenticates against K2 |
2.8.0 |
msgcntr |
mc.notificationDefault |
1 |
SAK-24628 - Feature Request: Please allow an institution to set a default preference for the "Watch" notification email functionality in Forums 2.7 ( Closed) | Allows an implementation to set a default preference for the "watch" notification email functionality introduced in 2.7 |
2.8.0 |
osp |
xslPortal.displayToolCategories |
true |
SAK-18831 - add configuration option to turn tool categories off in xslt charon portal ( Closed) | Add configuration option to turn off tool categories in xslt charon portal |
2.8.0 |
portal |
display.users.present.iframe |
false |
Eliminate the Presence iFrame and Replace with jQuery.Ajax calls to retrieve the list of users
( Closed)
Move the presence from an iFrame into a div - controllable by a series of |
2.8.0 |
portal |
timeoutDialogEnabled |
true |
SAK-19148 - Suggest Changing the Default timeoutDialogEnabled property to be "True" ( Closed) | Existing property where the default setting has been changed from false to true. |
2.8.0 |
portal |
timeoutDialogWarningSeconds |
600 |
SAK-19148 - Suggest Changing the Default timeoutDialogEnabled property to be "True" ( Closed) | Change the "settle time" before the timeout code starts to operate to 60 second. |
2.8.0 |
portal |
gatewaySiteUrl |
SAK-19089 - Ability to set a url for the gateway site ( Closed) | Adds ability to specify a URL |
2.8.0 |
portal |
portal.allow.minimize.tools |
true |
SAK-18687 - Ability to collapse site navigation ( Closed) | Allows the ability to minimize the tools where only the icons display. |
2.8.0 |
portal |
portal.allow.minimize.navigation |
true |
SAK-18687 - Ability to collapse site navigation ( Closed) | Allows the ability to minimize the navigation of top logo. |
2.8.0 |
portal |
portal.pda.bypass |
\\.jpg$|\\.gif$|\\.js$|\\.png$|\\.jepg$|\\.css$|\\.zip$|\\.pdf |
PDA Portal Must Pass Through non-HTML URLs
( Closed)
To override the default regular expression add this property. To specify a different regular expression for a particular Sakai tool, use a property with this pattern: |
2.8.0 |
portal |
portal.add.mobile.link |
false |
Suspected usability issue in PDA portal - 86% bounce rate
( Closed)
Enabling this property (ie true), adds mobile version tab at the top of the interface. |
2.8.0 |
portal |
portal.pda.autoredirect |
true |
Loading …
There is a footer added to the bottom of the page with a link 'Switch to classic view'. If followed, this will redirect back to the normal portal and set a cookie for that session which holds this preference. If this cookie is set, this will disable the redirect until the user closes and quits their browser. |
2.8.0 |
presence |
display.users.present.myworkspace |
false |
SAK-19130 - Change Default for Presence in My Workspace ( Closed) | Existing property where the default setting has been changed from true to false. Presence is now turned off in MyWorkspace |
2.8.0 |
profile2 |
profile2.official.image.enabled |
false |
PRFL-90 - Allowing using official photos for profile2 ( Closed) | Enables access/user to official institutional image for profile image |
2.8.0 |
profile2 |
profile2.official.image.source |
url |
PRFL-90 - Allowing using official photos for profile2 ( Closed) | Tells the system what type of official photo to look for. When url is selected, system will look in the PROFILE_IMAGES_OFFICIAL_T for a record |
2.8.0 |
profile2 |
profile2.official.image.attribute |
jpegPhoto |
PRFL-90 - Allowing using official photos for profile2 ( Closed) SAK-17816 - Add jpegPhoto mapping to JLDAP provider/UserDirectoryService ( Closed) | Used when profile2.official.image.source=provider is configured. |
2.8.0 |
quartz scheduler |
scheduler.loadjobs |
int |
SAK-19178 - Schedule Event Log Purge for Job Scheduler During Initial Startup ( Resolved) | allows injecting job configurations into the SchedulerManagerImpl that will be scheduled on startup |
1.0.1 |
shortenedurl |
shortenedurl.implementation |
SAK-24227 - Make abstract interface that is pluggable with a variety of URL shortening methods. ( Closed) | Used to set service URL for shortened url is implemented. |
2.8.0 |
site info |
siteManage.validateNewUsers |
false |
SAK-18997 - Add support for Account Validator ( Closed) | Add support for Account Validator |
2.8.0 |
site info |
siteinfo.prohibited_permission_for_joiner_role |
site.upd |
SAK-18462 - Ability to restrict joiner role selection to non-maintainer roles ( Closed) | Adds ability to restrict joiner role selection to non-maintainer roles. |
2.8.0 |
test and quizzes |
samigo.canRecordAverage |
false |
SAM-862 - The ability to choose "Average" for the "Recorded Score if Multiple Submissions" ( Verified) | Adds functionality to choose "Average" for the "Record Score if Multiple Submissions" |
2.8.0 |
test and quizzes |
samigo.showAssessmentTypes |
true |
SAM-921 - Improvement: No Assessment Templates/Types ( Closed) | Addition of setting to remove the display of "Assessment Types" |
2.8.0 |
web content |
sakai.iframe.annotatedurl |
SAK-19369 - Merge AnnotatedUrl- an iframe tool to trunk ( Closed) | |
2.0 New/changed permissions
Release |
Tool/Service |
Permission |
Notes |
2.8.0 |
Database support
The Sakai CLE supports the following production-grade databases:
Database |
Driver |
Notes |
MySQL 5.1.x |
Sakai requires transaction support. In the case of MySQL you must implement the |
MySQL 5.0.x |
Sakai requires transaction support. In the case of MySQL you must implement the |
Oracle 11g |
2.8 was not tested using Oracle 11g; however, both Virgina Tech and the University of Florida are using Oracle 11g with their Sakai deployments. |
Oracle 10g / 9i |
Both Oracle 10g AND 9i users must use the 10g driver; the latest 10g "Release 2" (10.2.x) or higher is recommended. |
Deprecated |
Choose the appropriate MySQL or Oracle JDBC driver (or connector) for your installation. For MySQL, download the *zip/*tar.gz archive, extract its contents and copy the mysql-connector-java-<version>-bin.jar
to $CATALINA_HOME/common/lib
. For Oracle download the ojdbc14.jar
file and copy it to $CATALINA_HOME/common/lib
You will not need to create Sakai database objects (tables, indices, etc) when setting up your database. Sakai generates its own database schema automatically during the Tomcat setup process via the autoDDL
setting in sakai.properties
In actuality, Sakai is not limited to these database choices and integration with other RDBMS systems is not difficult. In the past at least one installation used Microsoft SQL Server while requests for PostgreSQL integration are occasionally raised on the Sakai developers list. However, to date no one in the Sakai Community has stepped forward to support alternatives to either Oracle or MySQL, a prerequisite for adding additional database options to the release.
Irrespective of whether you utilize MySQL, Oracle or DB2 be sure you have configured your database to use the UTF-8 character set. Failure to do so will result in range of issues when attempting to use Unicode characters in Sakai. Consult your Db documentation or a local DBA for instructions on how to set your database up properly.If you are uncertain as to how your database is currently configured, you can check with a query. Here is a sample query for checking an Oracle instance:
SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET'; VALUE -------------------------------------------------------------------------------- AL32UTF8
For MySQL, the command to see what encoding your database is currently set to is "show create database sakai", assuming, of course, that your database is named "sakai". e.g.:
mysql> show create database sakai; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | sakai | CREATE DATABASE `sakai` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+----------------------------------------------------------------+ 1 row in set (0.00 sec)
Converting a database from one character set to another is a non-trivial operation, particularly if it is a large production database. We recommend strongly that you verify this aspect of the database creation and configuration process before deploying Sakai.
1.0 Configure the database
By default, all Sakai distributions are configured to use an in-memory version of HSQLDB. HSQLDB is provided for testing/demo purposes only and should not be run in production.Whatever database you choose to use you will need to modify at a minimum the following connection settings in sakai.properties
2.0 Set the database username and password
Set your database username and password:# DATABASE CONFIGURATION - make sure to modify details to match your particular setup # The username and password. The defaults are for the out-of-the-box HSQLDB. Change to match your setup. email@example.com=yourDbUserName firstname.lastname@example.com=yourDbPassword
3.0 Set the database connection
HSQLDB Sample Configuration
HSQLDB is Sakai's default database. Remember to comment out its settings should you choose to run Sakai utilizing either MySQL or Oracle.
## HSQLDB settings - on by default email@example.com=hsqldb firstname.lastname@example.com=org.hsqldb.jdbcDriver hibernate.dialect=org.hibernate.dialect.HSQLDialect firstname.lastname@example.com=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS # Two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based. #firstname.lastname@example.com=jdbc:hsqldb:mem:sakai firstname.lastname@example.com=jdbc:hsqldb:file:${sakai.home}db/sakai.db
MySQL Sample Configuration
Locate the MySQL configuration block, uncomment the settings and save your changes. Make sure you modify the data source, username and password settings to match your local environment. Do not forget to comment out the HSQLDB and Oracle settings.
# MySQL settings - make sure to alter as appropriate firstname.lastname@example.com=mysql firstname.lastname@example.com=com.mysql.jdbc.Driver hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect email@example.com=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&characterEncoding=UTF-8 firstname.lastname@example.com=select 1 from DUAL email@example.com=TRANSACTION_READ_COMMITTED # To get accurate MySQL query throughput statistics (e.g. for graphing) from the mysql command # show status like 'Com_select' # This alternate validation query should be used so as not to increment the query counter unnecessarily when validating the connection: #email@example.com=show variables like 'version'
Oracle Sample Configuration
Locate the Oracle configuration block, uncomment the settings and save your changes. Make sure you modify the data source, username and password settings to match your local environment. Do not forget to comment out the HSQLDB and MySQL settings.
# Oracle settings - make sure to alter as appropriate firstname.lastname@example.com=oracle email@example.com=oracle.jdbc.driver.OracleDriver #hibernate.dialect=org.hibernate.dialect.Oracle9iDialect hibernate.dialect=org.hibernate.dialect.Oracle10gDialect firstname.lastname@example.com=jdbc:oracle:thin:@your.oracle.dns:1521:SID firstname.lastname@example.com=select 1 from DUAL email@example.com=TRANSACTION_READ_COMMITTED
Oracle users may experience performance issues with certain of the SQL settings that work for HSQL and MySQL. Oracle users can reduce Db load by uncommenting the following settings:
# For improved Oracle performance (from the University of Michigan) #email@example.com= #firstname.lastname@example.com= #firstname.lastname@example.com=false
4.0 Set auto.ddl=true
On startup, Sakai will generate all database objects (tables, keys, constraints, etc.) automatically, obviating the need to run DDL scripts manually per the sakai.properties
setting auto.ddl
# establish auto.ddl - on by default auto.ddl=true #auto.ddl=false
Once the database schema is created you should set auto.ddl=false
5.0 Install MySQL 5.1 / 5.0
Configuring the Sakai CLE to use MySQL is an excellent option both for local development and production purposes. Sakai requires transaction support. In the case of MySQL you must implement the InnoDB
storage engine to ensure proper transaction handling.
Users upgrading from MySQL 5.0 to MySQL 5.1 on a Mac have reported name comparison problems on startup (for more info see http://collab.sakaiproject.org/pipermail/sakai-dev/2010-June/008066.html. This issue is solved by specifying the following property in a local my.cnf configuration file:
You will not need to create Sakai database objects (tables, indices, etc) when setting up your database. Sakai generates its own database schema automatically during the Tomcat setup process via the autoDDL
setting in sakai.properties
Case sensitivity. In most varieties of UNIX, MySQL is case sensitive since the underlying operating system determines the case sensitivity of database and table names. This is not the case for MySQL running in Windows which is case insensitive. Previous MySQL conversion scripts contained a mixture of upper case and lower case statements which occasionally caused problems for upgraders; for 2.8 we opted for lower case for the syntax while leaving the table and field names upper case. Testing on MySQL 5.1 did not reveal any issues with this choice.
Before installing MySQL, confirm whether or not it is already installed on your system by checking the version from the command line:
mysql --version mysql Ver 14.14 Distrib 5.1.52, for apple-darwin10.3.0 (i386) using readline 5.1
If MySQL is not installed download MySQL 5.1/5.5 binaries or source from http://dev.mysql.com/downloads/. Linux users should install MySQL using a package or binaries if possible. Choose the standard configuration. Windows users should consider installing MySQL as a service. Remember to include MySQL's /bin directory in your PATH statement.
MySQL 5.5: http://dev.mysql.com/downloads/mysql/5.5.html
MySQL 5.1: http://dev.mysql.com/downloads/mysql/5.1.html
Assign a password for the root account:
mysql -u root -pmysqlpassword
5.1 Set MySQL environment variables
Set the MYSQL_HOME environment variable to point to the base directory of your MySQL installation. In the example below, the path points to a symbolic link file rather than the actual MySQL installation directory. You can create a symbolic link ("sym link") in Unix using the ln -s
command (e.g., ln -s mysql-5.1.46-osx10.6-x86_64 mysql).
export MYSQL_HOME=/usr/local/mysql
set MYSQL_HOME=C:\mysql
Add MySQL's /bin
directory to your PATH variable.
export PATH=$PATH:$CATALINA_HOME/bin:$JAVA_HOME/bin:$M2_HOME/bin:$MYSQL_HOME/bin:$PHP_HOME/bin:$SUBVERSION_HOME/bin:$USR_LOCAL/bin
5.2 Create a my.cnf/my.ini
configuration file
You can configure MySQL to read a wide variety of startup options from a file named my.cnf
. Settings are scoped and can be overridden by file location:
Scope |
Location |
Override |
global |
server-specific |
binary install: |
global |
user |
global, server-specific |
Below is a minimalist MySQL 5.1 configuration file for a development laptop /etc/my.cnf
[mysqld] default-storage-engine=InnoDB lower_case_table_names=1
Restart MySQL in order for the new settings to take effect.
5.3 Create a "sakai" database and user account
Create a Sakai database with a default character set of UTF-8. Then create a "sakai" database user and password and end by refreshing the database permissions (e.g., "flush privileges"):mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 272 Server version: 5.1.46 MySQL Community Server (GPL) Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL v2 license Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> create database sakai default character set utf8; Query OK, 1 row affected (0.00 sec) mysql> grant all on sakai.* to sakaiuser@'localhost' identified by 'sakaipassword'; Query OK, 0 rows affected (0.00 sec mysql> grant all on sakai.* to sakaiuser@'127.0.0.1' identified by 'sakaipassword'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit
Deprecations, removals
Release |
Capability |
Status |
Notes |
2.8.0 |
Blogger |
retired |
Removed from the build. |
2.8.0 |
Reports |
retired |
Removed from the build. |
2.8.0 |
deprecated |
The Websphere WAS integration project has been deprecated due to lack of community support. It is anticipated that the WAS project will be removed from the 2.9.0 release if no one steps forward to support the project. |
2.8.0 |
deprecated |
The DB2 conversion scripts have been deprecated due to lack of community support. The scripts are currently incomplete and untested. It is anticipated that DB2 support will be dropped for future CLE releases if community support is not forthcoming. |
Known issues
Open 2.8-related tickets with a priority of critical or higher.
For a listing of all open 2.8 related tickets with a priority of critical or higher, see:
Open 2.x tickets
For listings of all open 2x-related issues see:
Blocker Critical Major Minor, trival
Indie Projects
A number of Sakai CLE projects (known collectively as "indie" projects) are currently not included in either the source archive or source check out. Instead, these projects are downloaded, installed in your local .m2
repository and then deployed to Tomcat as *.zip overlays during the Maven build process. If you need to apply any local customizations to these projects you must check out the code separately.
Indie project teams manage their own release cycles independently of the general Sakai CLE release cycle, permitting more frequent "off-cycle" maintenance releases for key projects such as the Kernel or Test and Quizzes. This means you can upgrade them in your release more frequently, if you desire.
Each Indie project site includes a variety of reports regarding the release, including Javadocs.
CLE Release | Project Site | Version |
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 | ||
2.8.3 |
Older Releases
The Sakai CLE 2.6 series is now unsupported. The release of Sakai CLE 2.8.0 marks the end of official community support for the Sakai 2.6 series. Organizations running Sakai CLE 2.6 (or earlier versions) are strongly encouraged to upgrade in order to take advantage of continued maintenance support. Note also that with the release of Sakai 2.9, Sakai 2.7 support has also ceased.
The Sakai CLE 2.8 series is licensed under the Educational Community License version 2.0.


text:
I'm working on an Java assignment to create a program that accepts a date in multiple formats:
Day must be DD
, Month can be MM
(in digits) or MMM
(first 3 letters), and Year can be YY
or YYYY
. Delimiters may be slash, dot or dash.
Examples of input to be accepted:
My problem is the user input is accepted by a String. So I need to separate the information between the delimiters.
What should I use to do this? It is recommended I use the java.util.regex

subset: commoncrawl


text:
Defense Contracting:
Sufficient, Reliable Information on DOD's Mentor-Protege Program Is Unavailable
NSIAD-98-92: Published: Mar 30, 1998. Publicly Released: Mar 30, 1998.
(617) 788-0555
Office of Public Affairs
(202) 512-4800
Pursuant to a legislative requirement, GAO reviewed the Department of Defense's (DOD) Pilot Mentor-Protege Program, focusing on: (1) DOD's management of the program, including its efforts to evaluate the program's effectiveness; and (2) the manner in which program funds have been obligated.
GAO noted that: (1) data limitations preclude GAO's assessing the extent to which the program is achieving the purpose established by Congress; (2) the Office of Small and Disadvantaged Business Utilization (OSADBU) has recently undertaken actions to review the program that were intended to provide the basis for such an assessment; (3) it has initiated a survey of mentors and proteges and enlisted the Defense Contract Management Command to conduct performance evaluations of each agreement; (4) however, GAO believes shortcomings in the survey methodology and incomplete coverage in the performance evaluations will limit the usefulness of their results in assessing the program's overall effectiveness; (5) Congress has appropriated about $233 million for the program since fiscal year 1992; (6) the funding was generally obligated through either cooperative agreements, separate contracts, or line items in DOD prime contracts; (7) while OSADBU has managed cooperative agreements in the past, it has decided that the services and the defense agencies should be responsible for managing reimbursable mentor-protege agreements; (8) the services have been inconsistent in their policies on paying fees to mentors for providing assistance to proteges and reimbursing proteges for various expenses; and (9) because sufficient and reliable information on program performance was unavailable, the overall extent to which the pilot program benefited the proteges could not be assessed.
Status Legend:
- Review Pending
- Open
- Closed - implemented
- Closed - not implemented
Matter for Congressional Consideration
Matter: Congress may wish to clarify mentor-protege program legislation as to whether mentors can be paid fees in addition to expenses and proteges can be reimbursed for various expenses.
Status: Closed - Not Implemented
Comments: Congressional action was not taken to address recommendation.
Recommendation for Executive Action
Recommendation: The Secretary of Defense should instruct the Director, OSADBU, to strengthen OSADBU's performance reviews to ensure that sufficient and reliable information on program performance is gathered on planned and actual mentor assistance as well as on the protege firms' business development.
Agency Affected: Department of Defense
Status: Closed - Implemented
Comments: DOD said it would continue to make efforts to improve the reliability and sufficiency of data on the program. However, GAO in July 2001, in response to the 2000 National Defense Authorization Act, reported that DOD still lacks data integral to assessing the success of the Mentor-Protege Program. Therefore, this recommendation is now incorporated in the recommendation contained in Contract Management: Benefits of the DOD Mentor-Protege Program Are Not Conclusive (GAO-01-767, Jul. 17,2001)
Mar 5, 2014
Evolved Expendable Launch Vehicle:
Introducing Competition into National Security Space Launch AcquisitionsGAO-14-259T: Published: Mar 5, 2014. Publicly Released: Mar 5, 2014.
Mar 4, 2014
The Air Force's Evolved Expendable Launch Vehicle Competitive ProcurementGAO-14-377R: Published: Mar 4, 2014. Publicly Released: Mar 4, 2014.
Countering Overseas Threats:
DOD and State Need to Address Gaps in Monitoring of Security Equipment Transferred to LebanonGAO-14-161: Published: Feb 26, 2014. Publicly Released: Mar 4, 2014.
Feb 28, 2014
Army Workload and Performance System:
Actions Needed to Complete Assessment of Unnecessary Overlap with Logistics Modernization ProgramGAO-14-266: Published: Feb 28, 2014. Publicly Released: Feb 28, 2014.
Feb 27, 2014
Defense Transportation:
DOD Can Better Ensure That Federal Agencies Fully Reimburse for Using Military AircraftGAO-14-189: Published: Feb 27, 2014. Publicly Released: Feb 27, 2014.
Feb 26, 2014
Military Health System:
Sustained Senior Leadership Needed to Fully Develop Plans for Achieving Cost SavingsGAO-14-396T: Published: Feb 26, 2014. Publicly Released: Feb 26, 2014.
Jan 30, 2014
Imminent Danger Pay:
Actions Needed Regarding Pay Designations in the U.S. Central Command Area of ResponsibilityGAO-14-230R: Published: Jan 30, 2014. Publicly Released: Jan 30, 2014.
Jan 21, 2014
Defense Management:
DOD's Conference Policy Is Generally Consistent with OMB's RequirementsGAO-14-150: Published: Jan 21, 2014. Publicly Released: Jan 21, 2014.
Jan 17, 2014
Defense Efficiencies:
Action Needed to Improve Evaluation of InitiativesGAO-14-134: Published: Jan 17, 2014. Publicly Released: Jan 17, 2014.
Jan 7, 2014
Defense Infrastructure:
Army Brigade Combat Team Inactivations Informed by Analyses, but Actions Needed to Improve Stationing ProcessGAO-14-76: Published: Dec 11, 2013. Publicly Released: Jan 7, 2014.
Looking for more? Browse all our products here


text:
Popular Ties
Create Your Own Ties
Featured Ties
"I am already so pleased and impressed with Zazzle! You have, truly, exceeded my expectations in product availability, quality, and service! Everything that I have experienced about your company is first rate excellence!!!! It's not very often I have the opportunity to write a note like this! You rock!"
"You are AMAZING. Customer service rocks - easy to communicate with you & fast responses. Shipment via overnight far exceeded my expectations. You were there to follow through to my satisfaction. There are few businesses out there who operate the way you do. I work for a luxury retailer and think we've got the service thing down; but you've totally got us beat!! Keep doing what you're doing. I will always recommend you, choose your business first & tell everyone I know about Zazzle. "
Make a great impression with a custom tie! Wow them at the office, a gala event or your next client meeting. A unique tie sets you apart from the crowd. Choose one of our thousands of tie designs or create your own to reflect your personal style. Ties make great gifts for Dads and husbands. What Dad wouldn't like a tie with his son's picture or his daughter's artwork? A tie like this is truly a unique gift for the guy who has everything.


text:
Claustros de la Compañía
General Morán 118 y Palacio Viejo 115, Arequipa, Peru 5154Map
+51 54 21 0121
This is the only building in Arequipa that is preserved just as it was during the colonial period. Built in 1660 as a part of the monumental architectural complex of the old Society of Jesus monastery, its cloisters and corridors with high baroque-style stone arches display carvings and monograms related to the order of Jesuits, as well as gargoyles to carry rain water off the roofs. The lava-rock columns surround three large patios built in the Andalusian fashion. After its refurbishment, it now houses stores and offices.
Write a Review
Thank you for submitting your review!
- Type:
Attractions & Landmarks
Hostal Maison Plaza
0.0 mi
Tierra Sur Hotel
0.0 mi
Casa Andina Classic Arequipa
0.0 mi
El Balcon Hotel
0.0 mi
Hotel El Lago Estelar
0.0 mi
See All Arequipa Hotels »
See All Arequipa Things To Do »
0.2 mi
El Viñedo, Argentino Grill
0.3 mi
Presto Pizza
0.3 mi
0.4 mi
Sol de Mayo
0.9 mi
See All Arequipa Restaurants »
Quenas (Las)
0.3 mi
See All Arequipa Nightlife »


text:
2011 Nissan Rogue
User Reviews
There are 6 user reviews for the SV FWD trim shown below
- Pros
- Great looks, good ride quality
- Cons
- Rear visibility
Purchased As New
We just got this car to replace my wife's aging VW Beetle, and so far so good. The rear visibility is not great, but the backup camera helps some. The car has some nice features for the price. The CVT makes up for the lack of horsepower, and the fuel economy is great. With little difference in price and features among the competition the superior looks pushed us in the direction of the Rogue. This is going to be a great car for us to start our family in.
0 out of 0 people found this review helpful.
Was this review helpful to you?
Sponsored Links
( What's this? )
Compare Ford® Escape | MidAtlanticFordDealers.com
Compare the Ford Escape to the Competition Today!
www.MidAtlanticFordDealers.comUsed Nissan Murano | DullesDonBeyerVolvo.com
Dulles, VA Used Nissan Murano In Stock - View Online & Make Offer.
www.DullesDonBeyerVolvo.comUsed Nissan Listings | PassportNissanMd.com
Your Authorized Used Nissan Dealer Shop Our Huge Used Nissan Inventory
www.PassportNissanMd.comCertified Nissan Rogue - Search Certified Pre-Owned Cars.
Locate a Dealer. Own Confidence.


text:
- Judge strikes down Arkansas abortion law — nation's toughest — as unconstitutional
- Court: Tenn. must recognize 3 same-sex marriages
- Russia claims to have downed U.S. drone over Crimea region
- John Daly shoots 90 at PGA Tour event: 'I'm falling apart'
- Police: Man arrested in West Virginia may be linked to Alexandria killings
- Smile: Equipping cops with body-mounted cameras gains steam in Calif., N.Y.
- Obama to sign bill cutting taxpayer money for party conventions
- Half of Americans worried about second Cold War: poll
- Kermit Gosnell clinic aide who heard aborted baby scream gets 5 to 10 years in prison
- Iraq mulls law to let men marry 8-year-old girls
Darla Moore
Latest Darla Moore Items
Condoleezza Rice to be on College Football Playoff selection panel: reports
The committee is expected to be comprised of current athletic directors and former college athletic administrators and coaches.
AP Source: Condi Rice expected on playoff panel
Former Secretary of State Condoleezza Rice is expected to be part of the selection committee that will pick the teams for the College Football Playoff next year, a person with direct knowledge of the process told The Associated Press.
R&A to study male-only issue after British Open
Pragmatic yet defiant, the head of the Royal & Ancient issued a Hootie Johnson-like salvo in the latest battleground over male-only golf clubs: The British Open will not yield to pressure over three of its venerable clubs refusing to admit female members.
Storm brewing over Muirfield's men-only membership
A storm is brewing at Muirfield.
10 things to know for the Masters
Ten facts about the Masters going into the second round at Augusta National Golf Club:
Lefty's nervous heading into Masters
One of the last golfers you'd expect to feel anxious heading into the Masters is three-time champion Phil Mickelson.


text:
Puma Soccer Apparel, Gear & Equipment
Puma Gear For All Players
At soccerloco we understand that not all players prefer the same gear, which is why we offer the biggest selection of Puma soccer gear on the web. Whether you are looking for cleats, apparel, jerseys, or soccer ball, our expansive selection of Puma soccer equipment includes various options for players of all ages, genders and play style. Built for getting the most out of your training, Puma soccer apparel features many performance adding technologies in their apparel to help you get the most out of your training. Get your apparel now from soccerloco to make the most of your training and progress your game.
Save on Puma Gear At soccerloco
As the leading online soccer store, we work closely with Puma to bring you the latest models and styles of Puma soccer gear. soccerloco offers you the widest selection of Puma soccer equipment at the lowest prices on the web, making it easy to find the piece of Puma soccer equipment you've been looking for. Shop now to take advantage of our affordable flat rate shipping and easy returns on all orders. Shop now to get the Puma soccer apparel and take your game to the next level of performance.
Puma Evospeed 1.2 Shin Guard (NOCSAE) - Black
$24.99 $22.49 -
Puma BTS Graphic T-Shirt - Black/Fluo Yellow
$29.99 $26.99 -
Puma evoSPEED Graphic Tee - Black/Fluo Yellow
$29.99 $26.99 -
Puma Men's Speed Short - Royal/White
$25.99 $23.39
Puma Men's Speed Jersey - Royal/White
$31.99 $28.79 -
Puma Men's Speed Jersey - Red/White
$31.99 $28.79 -
Puma Italy Badge Tee - Blue
$29.99 $26.99 -
Puma Men's V-Neck Training Tee - Black
$24.99 $22.49
Puma Vencida Soccer Jersey - Burgundy
$22.99 $20.69 -
Puma Blues PowerCat Long Sleeve 3rd Jersey - Neon
$29.99 $26.99 -
Puma Manchester Shorts - Royal
$25.99 $23.39 -
Puma v1.08 Shin Guards - Dark Grey/Silver
$39.99 $23.99
Puma v1.08 Shin Guards - Silver/Red
$39.99 $23.99


text:
Where great old Macs live again!
Unboxing the newest version of the MacBook Pro Retina Display
Share Twitter Facebook
Views: 26
Super exciting, Daniel. Congrats!!
Join RetroMacCast
Welcome toRetroMacCast
Sign Upor Sign In
Get Badge
© 2014 Created by James. Powered by
Badges | Report an Issue | Terms of Service
Please check your browser settings or contact your system administrator.


text:
Coverage: TNT
8:30 PM ET, June 2, 2012
Chesapeake Energy Arena, Oklahoma City, OK
OKLAHOMA CITY, OK - JUNE 02: (L-R) Kevin Durant #35, Russell Westbrook #0 and James Harden #13 of the Oklahoma City Thunder stand together in the second half while taking on the San Antonio Spurs in Game Four of the Western Conference Finals of the 2012 NBA Playoffs at Chesapeake Energy Arena on June 2, 2012 in Oklahoma City, Oklahoma. NOTE TO USER: User expressly acknowledges and agrees that, by downloading and or using this photograph, User is consenting to the terms and conditions of the Getty Images License Agreement. (Photo by Ronald Martinez/Getty Images)


text:
How to make leche de arroz
Recipes / How to make leche de arroz (1000+)
Smile and Say Cheese: How to Make Halloumi at Home & Fried Halloumi Salad
351 views
or muslin cotton cloth Step By Step on How to Make Halloumi at Home: 2 gallons vitamin D
Naan Recipe - How to make Naan in oven
332 views
etc to spread over Naan How to make Naan Method 1. In a bowl add yeast & sugar to warm
How To Make Vegan Cashew Cream
163 views
it way more than I thought I would. How to Make Cashew Cream Makes 1 cup – 1 and a 1/2
How to Make Dulce de Leche or Cajeta (Goat Milk) Caramel
31 views
How to Make Dulce de Leche or Cajeta (Goat Milk) Caramel If you recall, I recently
egg biryani recipe - how to make easy egg biryani
93 views
strand of mace how to make easy egg biryani 1. Soak rice for at least 20 to 30 mins. Drain
eggless chocolate cake in microwave | How to make eggless chocolate cake in microwave
116 views
Semi sweet Choco chips Oil for greasing How to make an eggless chocolate cake in microwave
green chilli chutney recipe - how to make green chilli chutney
89 views
you can skip. green chilli chutney recipe - how to make green chilli chutney Prep time: 10
How to make Labneh & other exciting news
733 views
flaked almonds with chopped fresh mint How to make Labneh Prepare the yogurt: stir the
How to Make Scrambled Eggs
867 views
Everyone just assumes that everyone else knows how to make scrambled eggs. And they don't
how to make coconut milk – homemade coconut milk recipe
121 views
how to make curd 2. how to make paneer 3. how to make cashew yogurt 4. how to make butter
Groups / How to make leche de arroz (0)
Mama Mungo's Soup Kitchen
26 members
called it Poor Thursday. She taught us how to make bread from scratch, soups, stews, cheap
Jelly making mama's/papa's
2 members
making homemade jams and jellies. Would like to hear how people learned how to can. How
What Should I Make For...
1 member
What Should I Make For..., Have no idea what to make for dinner tonight? That special
Ideas for improving CookEatShare
64 members
ideas on how to improve the CookEatShare site. No need to post recipes to this group
Themes / How to make leche de arroz (0)
How To and Hints, Tips & Tricks, .....
if they have "How To" in the title. For example "How to Make Greek Garlic Sauce" would
Learning to put it in words
Learning to put it in words, I have all of these recipes in my head and know how to make
Back to School Lunchbox Recipes
you can make them look unique and add some fun to lunchtime! , Use cookie cutters to make
Afternoon Tea Party
before. Just make sure you keep everything refrigerated! You wouldn't want to make one of
The No-Shop Challenge
me on my quest to use the ingredients I already have to make new, creative and delectable
Trusted Results with How to make leche de arroz
This Arroz con Leche is the Cuban version of rice pudding. It's richer and sweeter than regular rice pudding. Being Cuban myself, I prefer this version ...
Cooks.com - Recipes - Arroz Con Leche
Enter your email to signup for the Cooks.com Recipe Newsletter. ... con el azucar, se agregan los ... la harina de arroz cernida con el royal y leche ...
Cooks.com - Recipe - Arroz Con Leche
It is better to add the sugar at this time to help prevent it from ... Arroz Con Leche, may be cooked the day before and served cold, or warm, right ...
Arroz con Leche Recipe : Ingrid Hoffmann : Food Network
Food Network invites you to try this Arroz con Leche recipe from Ingrid Hoffmann.
arroz con leche : Food Network
Maya-Mediterranean Chocolate Rice Pudding: Arroz con Leche y Chocolate ... I want to make: With: Ready in: Find. Chef Recipes. I want to make: From: Ready In: Find ...
Arroz con Leche y Pasas Recipe : Michelle Bernstein : Food ...
Food Network invites you to try this Arroz con Leche y Pasas recipe from Michelle Bernstein.
Our most trusted Arroz Con Leche With Salt recipes. Reviewed by millions of home cooks.


text:
recipe reviews for:
"A pork tenderloin and a bag of carrots transform into a tasty, savory main dish after simmering for hours in the slow cooker with ginger ale, curry, and maple syrup. Serve with white or curried rice."
Cooking Level: Expert
My Profile | Cooks I Like Reviews | Photos | Recipes | Menus | Blog
Everything you need to party like a leprechaun.
New for spring! Good-for-you food you'll love to eat.
Delicious recipes, party ideas, and helpful cooking tips! Get a year of Allrecipes magazine for just $9.99!
See how to make quick-and-easy pork tenderloin in your slow cooker.
All you need are 10 minutes to prepare this juicy, tangy roast pork.
See how to make a tender pork roast in the slow cooker.


text:
Release Notes: This release has an updated autotools build system and a few fixes from users.
Release Notes: Small bugs were fixed. The --disable-legacy configure option was added to enable new features in the future. Currently, it enables storing symlinks directly in a tgz package.
Release Notes: spkg now compiles and runs with glib versions 2.2.x and later. This makes spkg compatible with Slackware 9.0 and later (until now, spkg was could only be compiled on slackware-current). A configure option was added to compile only a static version of spkg.
Release Notes: This release contains small improvements to the existing features and some bugfixes. Focus was set on testing and cleaning up of warning and error strings.


text:
The Infamy is the first episode in the Tyranny of King Washington storyline. Following the revolution, Washington goes mad with power and rules as a tyrannical King. Connor awakes in this reality as Ratonhnhakéton never having joined the Assassin order and is greeted by his mother Kaniehtíio, accepting a new mission to take down Washington. Acquire all new skills to fend off this new threat to freedom. Live history as it never happened and ignite a new revolution.
Submit Blog
Love this blog? Send it to
to help us recognize and promote great bloggers on IGN.
You must be logged in to post a comment.
blog comments powered by Disqus


text:
She's been followed around by film cameras for years as she lets the public into all corners of her life on her TV show.
But now Kim Kardashian has sparked speculation that there is about to be a film of her life as she was spotted with acclaimed documentary filmmaker Morgan Spurlock.
In a bizarre turn of events, the director of the recent One Direction: This Is Us film was seen playing the part of a paparazzo as he joined the throng trying to photograph the reality star as she arrived at LAX on Thursday.
[ Kim Kardashian flies solo back to LA with no Kanye in tow ]
[ Kanye 'loves' Kim's curves as she continues to flaunt them in Paris ]
But it didn't seem like Kim stopped to chat with the well-known filmmaker as she kept her head down as she fought through the crowds.
While the director's presence at the airport confused onlookers - with rumours building that Kim is his next documentary subject - it could be for a reported new project that involves looking at the world of the paraprazzi.


text:
Mercer Knocks Off Lipscomb In First Round Of ASUN Tournament
MACON, Georgia (WMGT/41NBC) - Both regular season matchups between Mercer and Lipscomb were close games and the first round of the A-Sun Tournament proved no different.
MACON, Georgia (WMGT/41NBC) - Both regular season matchups between Mercer and Lipscomb were close games and the first round of the A-Sun Tournament proved no different.
KISSIMMEE, Fla. (AP) - Atlanta Braves first baseman Freddie Freeman is expected to miss at least a week after injuring his right knee.
Freeman's kneecap popped out of place Tuesday attempting to field a low throw during an infield drill. The team says the knee is stable and he had a similar injury in the minors two years ago. Freeman missed about a week the last time.
The Braves already are dealing with pitcher Tommy Hanson sustaining a concussion in a wreck and utility infielder Jack Wilson being out up to six weeks with a strained calf muscle. Also, pitcher Tim Hudson will probably miss the first month of the season recovering from back surgery.
Freeman was runner-up for NL Rookie of the Year after hitting .282 with 21 homers and 76 RBIs.
LAKE BUENA VISTA, Fla. (AP) - Atlanta fans know the Brandon Beachy story. The rest of the baseball world may know it soon enough.
The Braves right-hander Beachy may go from being someone no Braves fan had heard of two years ago, to being the anchor of this year's staff. He made his first major league start in a mid-September game in Philadelphia during the 2010 pennant run.
He was replacing Braves starter Jair Jurrgens back then. Now the 25-year-old Beachy needs to step up again with Tim Hudson sidelined until May with a back injury, and Tommy Hanson and Jurrjens battling minor injuries.
Beachy says he needs go deeper into the game so, "This year I am concentrating on limiting my pitches."


text:
Nancy K. Dillon
Seattle, WA -
Bonnie Whitmore
Nashville, TN
Venue Address (Get Directions)
Egan's Ballard Jam HouseDate and Time
Saturday, July 13th, 2013 at 7:00pm
Age Limit
All Ages
Bonnie Whitmore - on tour from Texas - www.bonniewhitmore.com +
Nancy K Dillon - okie roots americana - www.nancykdillon.net
in concert @ ~ Egan's Ballard Jam House ~
1707 NW Market Street, Seattle WA 98107 206-789-1621
~ click 'See more' for musical facts and cool info ~
More Info on Bonnie & Nancy :
BONNIE WHITMORE started writing songs at 16 and moved to Austin at 18. But her music career began far earlier, when her father, a Denton-based pilot, recruited her for Daddy & the Divas. She likes to joke that she and older sister, Eleanor, were born so he could have a band. (He also married an opera singer.)
An accomplished cellist and bassist, she lived in Nashville for a while, spent a year singing in Hayes Carll's band and frequently appears with the Mastersons, fronted by Eleanor and her husband, Chris Masterson. (They also play in Steve Earle's band.) Both appear on Whitmore's just-recorded, and still untitled, second album, which Chris produced, as he did her first, Embers to Ashes. That one chronicles the arc of a relationship that didn't work out. "It was totally worth the breakup to get that album," she says, admitting her Music City sojourn helped her "really learn the art of crafting a song."
With a voice that goes from whispering softness to full throttle and alto to soaring soprano, and songs that plumb relationships with lyrics referencing Lewis Carroll, Hunter S. Thompson and Radiohead, she's got Americana fans clamoring to hear her new work. During a break from recording in Austin, Chris observes, "It's a big-sounding record."
And it comes from a woman with big passions. "I'm doing music because I have to," Whitmore says. "It's what I do, it's what I know and if I don't do it, I feel incomplete."
—L. Margolis - Austin Monthly
NANCY K DILLON - Growing up in the dusty plains of Oklahoma just six blocks away from Route 66, this closeness to one of America's legendary transportation highways must have made an impression on a young Nancy due to the evident quality on these eleven songs. Like other respected artists that were raised close to places of travel, her longing to get up on her feet and see what's out there is evident on many songs as are other subjects of life.
With an old timey feel in the same vein of the Carter Family, "Looks Like Rain" moves along at a fine pace and is in fact the best song on the album when you consider the originality of the accompaniment, in particular the fiddling and mandolin picking. "Portland" is sparsely done but this is to the song's benefit. It paints a delightful picture of the city which leaves its audience longing to visit its shores. Having no previous urge to visit this Oregon location it is a triumph of a song which leaves a previously unwilling person wanting to go there simply because of a four and a half minute song.
Nancy's songs are superior when compared to even the most successful of contemporary Nashville artists, and the movers and shakers of Music Row should sit up and pay attention to what she has to say. Having shared the stage with the likes of Gretchen Peters, Guy Clark and Ray Wylie Hubbard you realise when listening to this album why those openings have happened.
--R. Hill - Maverick Magazine UK


text:
wholesale vacuum motor
in Home Appliances also searched: vacuum cleaner motor vacuum car vacuum generator motor vacuum cleaner vacuum engine central vacuum motor ametek vacuum motor motor suction eureka vacuum motor vacuum motor brushes vacuum motor generator vacuum motor projects parts vacuum cleaner paper dust bags paper dust bag View More-
Vacuum cleaner accessories vacuum cleaner motor vacuum cleaner motor portable vacuum cleaner 800 tile
US $41.46 / piece -
High-quality ! Vacuum Cleaner Motor For Well Selling Vacuum Cleaner
US $67.97 / piece -
Ds vb8218r-0001 motor vacuum cleaner 230v50hz cl . b
US $36.98 / piece
K-BOXING vacuum cleaner motor super vacuum cleaner motor original as60 motor cb60 motor
US $42.64 / piece6 pieces / lot
- Shipping:
- US $20.90 / piece
A vacuum cleaner motor screen FC8202FC8204FC8206FC8208 white scouring pad
US $0.89 / pieceUS $0.93 /piece30 pieces / lot
- Shipping:
- US $0.50 / piece
The vacuum cleaner motor
US $70.00 / piece- Shipping:
- US $14.56 / piece
Wheel and brush motor for Neato XV-11 XV-12 XV-14 XV-15 Automatic vacuum cleaner, New!
US $25.00 / piece -
(For LL-A320,LL-A325) Robot Vacuum Cleaner Side Brush Motor Assembly for LL-A320,LL-A325, 1pc/pack
US $18.00 / pack -
220v 1200w Copper vacuum cleaner motor Fit for philips for karcher for electrolux for ecovacs Vacuum Cleaner part NEW 2014
US $56.00 / piece
Haier vacuum cleaner motor zw1600-271 , zw1400-264 , zw1400-262 0673 series
US $100.67 / piece -
Fuel Oil Diesel Extractor Transfer Pump Scavenge Suction 12V 5A Motor GDJ-21206
US $38.82 / piece -
Vacuum cleaner italian 98 series motor 1000w
US $91.00 / piece
Fuel Oil Diesel Extractor Transfer Pump Scavenge Suction 12V 5A Motor GDJ-2066
US $15.67 / pieceUS $19.59 /piece- Shipping:
- US $35.89 / piece
Ceratopsian vacuum cleaner accessories nk-106 motor
US $60.87 / piece- Shipping:
- US $282.15 / piece
SQ-A325 dustbin fan / dustbin motor
US $22.00 / piece
Double motor, stainless steel barrels, dry wet amphibious pipeline cleaner, suction machine, 2000 w
US $918.00 / piece- Shipping:
- US $643.63 / piece
Fuel Oil Diesel Extractor Transfer Pump Scavenge Suction 12V 5A Motor GDJ-20166
US $17.76 / piece- Shipping:
- US $42.80 / piece
Midea of beauty cleaner original the ultrastructures bags 4 dust motor
US $16.16 / piece- Shipping:
- US $41.17 / piece
Robo neato xv-21 12 14 11 wheels motor wheel free shipping
US $47.30 / piece -
Cleaner accessories Motor filter FC8220 FC8222 FC8224 FC8226
US $1.25 / pieceUS $1.32 /piece25 pieces / lot
- Shipping:
- US $0.54 / piece
HOT SALE!!!!15L 30L 60L 70L 80L 1200W industrial vacuum cleaner motor general dry and wet copper wire motor
US $64.99 / piece
Copper of beauty vacuum cleaner motor 1200w qw12t-606 qw12t-608 qw12t-607
US $47.04 / piece -
1200W Industrial Vacuum cleaner motor normal quality 1.95kgs
US $54.99 / piece -
104.5mm Vacuum cleaner copper wire motor d957 motor 1800w diameter 130mm
US $47.90 / piece
1400 Small household Vacuum cleaner parts vacuum cleaner motor 135mm diameter
US $47.90 / piece -
VK140 Compatible Motor Vacuum Cleaner Filter Kobold140 , Vacuum Cleaner Accessories Free Shipping !
US $8.97 / piece -
Haier haier vacuum cleaner motor zw1200-223 zw1000-201 zw1100-202 copper wire
US $47.90 / piece
Haier vacuum cleaner motor haier vacuum cleaner accessories zl1500-1s zl1500-2
US $59.99 / piece -
V2z-p25 gs-p25 vacuum cleaner motor genon 1400w jie yun copper wire motor
US $59.99 / piece -
Household commercial wet and dry vacuum cleaner motor 1400 tile
US $57.99 / piece
1400W industrial vacuum cleaner motor wet and dry use factory vacuum cleaner motor
US $64.99 / piece -
Copper wire motor haier vacuum cleaner motor haier vacuum cleaner motor zw1300-6 pd22120
US $49.99 / piece -
(2pcs/lot) Cleaner Filter High Efficiency Vacuum Cleaner Hepa Filter 150mm*150mm*4mm For Motor protection FC8220 FC8222 FC8224
US $4.64 / pieceUS $4.99 /piece2 pieces / lot
Free Shipping Type: Vacuum Cleaner Parts ; is_customized: Yes ; Brand Name: Vacuum Cleaner Accessoris ; Model Number: Vacuum Cleaner Filter
General vacuum cleaner accessories vacuum cleaner motor filter filter vacuum cleaner colander
US $22.92 / piece -
Vacuum cleaner copper wire motor d928 d929 d936 d916
US $47.90 / piece -
Sanyo vacuum cleaner bsc-wdb801 motor wet and dry
US $61.96 / piece
Wholesale vacuum motor from China
This page offers you the best selection of wholesale home appliance items on the web. You'll find top-quality vacuum motor with artful design and amazing wholesale prices. You can also shop wholesale vacuum motor from vacuum motor wholesalers! If you're looking for cheap vacuum cleaner motor, cheap vacuum car, cheap vacuum generator , this is the page for you! We've got sales on everything from vacuum cleaner motor promotion, vacuum car promotion, vacuum generator promotion ! IF you're comparison shopping, you can do a quick search for motor vacuum cleaner price, vacuum engine price, central vacuum motor price ! If you want more information, be sure to check out our customer feedback in vacuum cleaner motor reviews, vacuum car reviews, vacuum generator reviews . You will find the latest, top-quality products. What's more, AliExpress.com is the place to find other great home appliance products at wholesale prices! We hope that the great service and excellent quality you'll find here will give you the best shopping experience on the web!
- View More


text:
Silk Road Cyber-Bazaar Suspect Denied Bail in New York
By Christie Smythe & Greg Farrell - Nov 22, 2013 12:00 AM ET
Ross Ulbricht, the man accused by the FBI of running Silk Road, a billion-dollar online market that sold drugs and hacking services, was denied bail after prosecutors accused him of trying to have six people murdered.
U.S. Magistrate Judge Kevin Fox in Manhattan yesterday declined to grant bail given the "powerful evidence" presented by the government. Ulbricht's lawyer had asked for $1 million bail.
Oct. 30 (Bloomberg) — Charlie Croom, vice president of Lockheed Martin Corp.'s Cyber Security Solutions group, Daniel Kaufman, director of the Defense Advanced Research Project Agency's Information Innovation office, Stewart Baker, partner at Steptoe & Johnson LLP, Chris Cummiskey, deputy undersecretary for management at the Department of Homeland Security, and Sandy Reback, senior global business analyst at Bloomberg Governnment, participate in a panel discussion on building the cybersecurity industry. Bloomberg's Megan Hughes moderates the panel at Bloomberg Government's "Cybersecurity: Costs and Solutions" conference in Washington. (Source: Bloomberg)
Ulbricht, 29, was accused by prosecutors yesterday of spending $730,000 to kill the six people in an effort to protect his business. He was officially charged by a federal grand jury in Maryland for one of the attempted murders. Prosecutors said they found no evidence that any murders took place.
Allegations about two of the murder plots were disclosed in court filings last month. The first involved an undercover agent working for the U.S Attorney in Maryland, who agreed to kill a rogue Silk Road employee for $80,000, a sum that Ulbricht allegedly wired to the undercover agent's account.
The second allegation involves a Silk Road user named "Friendly Chemist" who threatened to blackmail Ulbricht by disclosing the identities of some of Silk Road's vendors and customers, according to the filing.
Drug Vendor
Ulbricht allegedly paid $150,000 to another drug vendor, "redandwhite," to murder Friendly Chemist.
In yesterday's bail hearing, the U.S. said it retrieved e-mails showing that redandwhite told Ulbricht Friendly Chemist had implicated yet another Silk Road dealer, "Tony76," in the blackmail plot.
Ulbricht asked redandwhite to learn more about Tony76 and was told that Tony76 lived with three other people, according to prosecutors.
For that reason, redandwhite said he would "prefer to do all four," according to a government memorandum. "Ok, I'll defer to your better judgment," Ulbricht allegedly wrote, agreeing to pay $500,000 in the digital currency Bitcoin for the murder of all four, according to the memorandum.
A week later, redandwhite wrote to Ulbricht to tell him, "That problem was dealt with," according to the government.
Ulbricht saw himself "as basically the head of an online cartel" where murder is "part of the job," Assistant U.S. Attorney Serrin Turner told the judge yesterday in court.
Financial Means
"It's not just a fantasy," Turner said. Ulbricht had already been living a "double life" and is "prepared to live a life on the run," he said.
Joshua Dratel, Ulbricht's attorney, said his client doesn't have a criminal history, and he lacks the financial means or ability to flee. Friends and family members sent the court numerous letters attesting to his character, Dratel said.
"People have stolen billions of dollars and gotten bail in this courthouse," Dratel said.
Throughout yesterday's hearing, which lasted about an hour, Ulbricht sat at the defense table, remaining composed even as Turner, the prosecutor, compared him to the boss of a Colombian drug cartel.
Ulbricht's mother, Lyn Ulbricht, sat in a row with several relatives. After bail was denied, she let out an audible sigh. As he was escorted from the courtroom, Ulbricht turned toward her and waved.
Logged On
Outside the courtroom, his mother told reporters that her son "is not a danger" and that the case against him "doesn't add up."
At the time of Ulbricht's arrest last month, the government's complaint cited circumstantial evidence indicating that the Texas native was Dread Pirate Roberts, the mastermind behind the Silk Road website who took the name after a character in the movie "The Princess Bride."
In court yesterday, the prosecutor told the judge that when Ulbricht was arrested in a San Francisco public library on Oct. 1, the defendant had just logged on to his computer as Dread Pirate Roberts.
As part of the government's letter opposing bail, prosecutors showed screengrabs taken from Ulbricht's computer, indicating that Ulbricht was the primary administrator of the site. One Web page, titled "mastermind," showed an overview of the transactions and money moving through the site.
The criminal case is U.S. v. Ulbricht, 13-mg-02328; a related civil forfeiture case is U.S. v. Ulbricht, 13-cv-06919, U.S. District Court, Southern District of New York (Manhattan) The murder-for-hire case is U.S. v. Ulbricht, 13-00222, U.S. District Court, District of Maryland (Baltimore).
To contact the reporters on this story: Christie Smythe in federal court in Manhattan at email@example.com; Greg Farrell in federal court in Manhattan at firstname.lastname@example.com
To contact the editor responsible for this story: Michael Hytha at email@example.com


text:
Join ConceptArt.Org.
Its' free and it takes less than 1 minute!
Type: Posts; User: Dimitri kaliviotis; Keyword(s):
Don't forget to look at smellybugs tutorials in this section of the site. Unbaked polymer clays of course might get stiff and start cracking. I like using NSP medium or Roma #3 if I'm going for...
Thanx again guys!
Daozang, good luck with your first sculpt!
Thanx guys.
Daozang, we are a few here in Athens... mostly people that do creature design/sculpting. Not much happening in the pro sci-fi model-making arena though.
Some backstory and process pics in here if anyone's interested!
That is a lot... Still It's a good place to spend it on. Better that than a fancy car or something.
Cool paint jobs Dude!
Hmmm DIY... should that be PIY? ;)
Well, most employers in creative fields don't really look for fine art degrees and such. They are more interested in your portfolio
and experience.
If you worked hard and went beyond what your...
Hey, Nice!
Is that just ordinary clay, or is that somekind of glycerin added receipe?
Hi everyone!
I've been lurking off and on for quite some time now.... Finaly decided to post a model I made a while back.
A couple of the pictures have never been posted anywhere before.:^^: ...