CNR (software)
CNR, or One-Click & Run, was a free one-click software delivery service that was created to make finding and installing Linux software easier. It assisted the user in finding and installing software on their computer, and sat dormant in the system tray when not in use.
CNR offered a large database of Linux programs that were suitable for everyday and specialty usage. It was available for Linspire and its derivatives, as well as various other Linux distributions.
History
In 2002, the legacy CNR was created as a digital software delivery service created by Linspire, Inc. The service provide the desktop Linux user with an online software warehouse from which they could click on a product and have it installed on their desktop automatically. It required a paid membership of $49.95 to use the service. The warehouse hosted free, non-free, and commercial Linux software titles. The service relied on a client application to work in concert with Debian's APT and dpkg to resolve dependencies and install files.In 2006, in support of the community, Linspire changed its membership program to a two-tier system of CNR Basic and CNR Gold. Originally introduced as a $19.95-per-year subscription, the CNR Basic membership was later made free so that users could access free and non-free software without a subscription.
Linspire announced plans on April 24, 2006, to release CNR under a free software/open source license. It could then be used by other Linux distributions.
In early 2007, Linspire announced that they were going expand their CNR service to other distributions than their own, namely Debian, Ubuntu, with future extensions for RPM. In doing so, Linspire hoped to consolidate and aggregate all desktop Linux software into one service to provide an easier method of finding and installing all software for desktop Linux.
In December 2007, Linspire announced the beta release of their new CNR.com service with support for the updated Linspire and Freespire distributions and for Ubuntu 7.04 Feisty and Ubuntu 7.10 Gutsy.
On March 10, 2008, Linspire closed the legacy CNR service.
Web software
CNR also provides access to thousands of Web-based applications, providing the Linux community with the option of local Linux and Web Software, available through a single source.The same abilities to browse and search the library of products with additional abilities planned to improve the Web Software experience. The community will also have the ability to add new products to the already extensive library of applications available.
How it works
CNR.com is built as a collection of services in what is commonly referred to as a service-oriented architecture. The highly scalable architecture is built using the following JEE 5 technologies:- JavaServer Faces with facelets
- JBoss Seam
- EJB 3.x
- MySQL
- Hibernate with JBoss Cache
- JBoss
- Apache Maven
Import service
The import service is responsible for importing package repositories, parsing the package metadata, and matching the packages to products using a complex heuristically based algorithm. The Import service supports any Debian based distribution. RPM based packages can be supported by the domain model with additional work specific to the RPM package metadata schema and release management practices. The import service has a 98% success rate matching packages to products with admin support tools for finding and correcting any problems quickly. This service is responsible for making CNR.com the largest software warehouse for desktop Linux.Warehouse service
The warehouse service contains the web services APIs used by external clients to acquire access to and install products from CNR.com. The APIs are open to the public and are SOAP based. The APIs consist of the following:-
partnerLightup– ThepartnerLightupAPI provides a UUID MachineID which represents the installation life of a client. The resulting MachineID is required for other warehouse API requests. This API exists for the purpose of auditing the client usage for reporting back to the originating partner. -
lightup– ThelightupAPI is the same as thepartnerLightupAPI with the exception that there is no build tracking number to record. -
getOses– ThegetOsesAPI is used to query the warehouse for a list of the supported operating systems. This list is needed when the client cannot properly identify the operating system it is running on and must ask the user to choose from a list of the supported operating systems. -
getDistSnapIndex– ThegetDistSnapIndexAPI is used to query the server for the aggregate product information for the specified operating system. This API returns a URI for a payload that contains concise product information useful for searching, sorting and viewing in a client. -
getDisstSnapIndexDelta– ThegetDisstSnapIndexDeltaAPI is used to query the server for the aggregate updates and deletes for the product information store given for the specified operating system. -
productActionRequest– TheproductActionRequestAPI is used to query the server for a download URL for a specific, single product. If the server cannot grant access to the product, a resolution URL will be returned to the client instead so that the request can be resolved and re-executed. -
reportActionRequest– ThereportActionRequestAPI is used to report on the execution of theproductActionRequest. This data is used to audit thereportActionRequestAPI success and/or failure. -
getProductIdsForPkgBins– ThegetProductIdsForPkgBinsAPI is used for clients on initial configurations or after changing distributions to determine the products that are already installed on the machine. The client can determine all the binary packages currently installed on the system, and then using this API, can match these products against the products in the distribution snapshot.
- Requires purchase
- Requires EULA
- Must purchase primary product first
Ecommerce service
User management
The user management service handles the creation and management of user accounts as well as the authentication and authorization of user accounts and user access respectively. Authentication is managed using LDAP and SSO is utilized via a token federation service.Package management
The package management service handles the secure and non-secure storage of all the packages and provides for the secure delivery for all types of packages: free, non-free, and commercial, making CNR.com the industry leader for delivering desktop Linux software. This service is also responsible for the categorization of each product. The categories are an XDG base with an extended set of CNR categories not found in the XDG set intended to enhanced searchability.Community service
The community service provides for the forum, wiki document and blogging features for both the community in general and for each product. Each product has its own mini-community where discussions and self-help community support can thrive.CNR.com service
This is the presentation layer of the CNR.com architecture and is responsible for providing the Web 2.0 interfaces. These interfaces allow for the following features:- Add/Review/Edit the long and brief description for any product
- Add/Review/Edit the product logo and logo thumbnail
- Add/Review/Edit product screenshots
- Add/Review/Edit product ratings
- Add/Review/Edit product reviews
- Filter and sort content
- Product specifications with instant access to source code and build files