Standard/One Click Install
Da Wikipedia, l'enciclopedia libera.
< Standard
One Click Install è un meccanismo di openSUSE per l'installazione semplificata del software. Obiettivo di One Click Install è permettere agli utenti inesperti di installare software in tutta facilità con pochi semplici passi, senza dover compilare nulla nè digitare complicati comandi da shell.
| Questo standard è solo una bozza/proposta e non è opportuno da implementare in ambiente di deployment. Potrebbe essere soggetto a cambiamenti in qualunque momento. |
Contents |
[edit]
Caso d'uso
- Permettere all'utente di installare software da uno o più repository non presenti sul sistema
[edit]
Scopi
- Gli scopi comprendono l'automazione del processo di gestione pacchetti per l'aggiunta di repository e l'installazione di software
- Gli scopi comprendono un'interfaccia utente completa di informazioni sufficienti a comprendere l'automazione del processo
- Gli scopi non comprendono la gestione dei dettagli dei pacchetti, es. le dipendenze
[edit]
Requisiti
- L'azione deve essere avviata con un singolo click
- Si dovrebbe poter avviare il processo attraverso una pagina web
- Si dovrebbe poter avviare il processo attraverso un dispositivo fisico
- Sicurezza (l'utente deve confermare l'aggiunta di sorgenti di installazione)
- Si dovrebbe poter permettere il rilevamento automatico del tipo di repository
- Si dovrebbe poter includere più mirror
- Si dovrebbe poter includere più traduzioni dei testi
- Si dovrebbe poter avere un bottone/file su cui fare click per installare il prodotto su più versioni della distribuzione
- I file devono essere di piccole dimensioni per ottimizzare il download (es. traduzioni opzionali)
- Dovrebbe essere possibile specificare come risolvere i conflitti comuni (es. compiz/beryl)
[edit]
Dipendenze
- Non esiste un modo adeguato per identificare univocamente i repository (URL, hash, ID)
[edit]
Standard proposto
[edit]
Specifiche
(add RelaxNG spec here)
[edit]
Esempio
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://opensuse.org/Standards/One_Click_Install"
xmlns:os="http://opensuse.org/Standards/One_Click_Install"
xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:complexType name="softwareitem">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="summary" type="os:translatableString" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="description" type="os:translatableString" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string" default="package"/>
<xs:attribute name="recommended" type="xs:boolean" default="true"/>
<xs:attribute name="architectures" type="xs:string" default="all"/>
<xs:attribute name="action" type="xs:string" default="install"/>
</xs:complexType>
<xs:complexType name="repository">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="summary" type="os:translatableString" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="description" type="os:translatableString" minOccurs="1" maxOccurs="unbounded"/>
<xs:element name="url" type="os:mirrorableURL" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="recommended" type="xs:boolean" default="true"/>
<xs:attribute name="format" type="xs:string" default="auto"/>
<xs:attribute name="producturi" type="xs:string" default="/"/>
</xs:complexType>
<xs:complexType name="translatableString">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="lang" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="mirrorableURL">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="score" type="xs:integer" default="10" />
<xs:attribute name="location" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="group">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="1"/>
<xs:element name="summary" type="os:translatableString" minOccurs="0" maxOccurs="1"/>
<xs:element name="description" type="os:translatableString" minOccurs="0" maxOccurs="1"/>
<xs:element name="remainSubscribed" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
<xs:element name="repositories">
<xs:complexType>
<xs:sequence>
<xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="os:repository"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="software">
<xs:complexType>
<xs:sequence>
<xs:element name="item" minOccurs="0" maxOccurs="unbounded" type="os:softwareitem"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="recommended" type="xs:boolean" default="true"/>
<xs:attribute name="distversion" type="xs:string"/>
</xs:complexType>
<xs:element name="metapackage">
<xs:complexType>
<xs:sequence>
<xs:element name="group" type="os:group" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Sample instance:
<metapackage xmlns:os="http://opensuse.org/Standards/One_Click_Install" xmlns="http://opensuse.org/Standards/One_Click_Install">
<group distversion="openSUSE Factory">
<name>ymp name</name>
<summary>ymp summary</summary>
<description>ymp description, visible on elcome page</description>
<repositories>
<repository recommended="true" format="yast">
<name>Main Repository</name>
<summary>This is the main openSUSE catalogue</summary>
<summary lang="en_US">This is the main openSUSE catalog</summary>
<description>This is the main openSUSE package repository containing blah blah blah</description>
<description lang="de">Insert German Here</description>
<url>http://download.opensuse.org/distribution/SL-OSS-factory/inst-source</url>
<url score="5" location="ie">http://ftp.heanet.ie/mirrors/ftp.opensuse.org/opensuse/distribution/SL-OSS-factory/inst-source</url>
</repository>
<repository recommended="false">
<name>Some Other Repo</name>
<summary>Blah Blah</summary>
<description>blah blah blah</description>
<url>http://example.com</url>
</repository>
</repositories>
<products>
<product>
<name>MyFavouritePackage</name>
<summary>This is my favourite package</summary>
<summary lang="en_US">This is my favorite package</summary>
<description>Blah blah blah</description>
</product>
<product type="pattern">
<name>SomePattern</name>
<summary>Demo other resolveable</summary>
<description>Blah blah blah</description>
</product>
</products>
</group>
<group distversion="openSUSE 10.2">
<repositories>
<repository>
<name>Main Repository</name>
<summary>This is the main openSUSE catalogue</summary>
<description>This is the main openSUSE package repository containing blah blah blah</description>
<url>http://ftp.heanet.ie/mirrors/ftp.opensuse.org/opensuse/distribution/10.2/repo/oss/</url>
</repository>
</repositories>
<software>
<item>
<name>MyFavouritePackage</name>
<summary>This is my favourite package</summary>
<summary lang="en_US">This is my favorite package</summary>
<description>Blah blah blah</description>
</item>
</software>
</group>
</metapackage>
[edit]
Implementazioni
Una implementazione iniziale è stata introdotta in openSuse 10.3 Beta.
[edit]

