• This forum has been archived. New threads and replies may not be made. All add-ons/resources that are active should be migrated to the Resource Manager. See this thread for more information.

[InfisJSC] Auto installer

Status
Not open for further replies.

infis

Well-known member
Autoinstaller add-ons (and languages in the long term).

For what it is necessary: it is possible to establish in a crowd plug-ins and languages (todo), and then to start reorganisation of templates, phrases and cache. Naturally, it is necessary, first of all, for acceleration of installation of plug-ins and languages to them as time significant amount leaves on reorganisation of templates, phrases and cache. Also it is necessary for simplification of pouring of the necessary files on the server. Certainly, the rights of record to all folders in which files from a package will be copied are required.

Structure of folders in a package (archive):
Code:
/ - root of package (archive)
/upload - folder for uploading files
/addon.xml - installer of addon
/lang.xml - language for addon (it is not processed yet)
Structure of folders in a multipackage (archive)
Code:
/ - root of multipackage (archive)
/addon1 - folder of addon1
/addon1/upload - folder for addon1's uploading files
/addon1/addon.xml - installer of addon1
/addon1/lang.xml - language for addon1 (it is not processed yet)
/addon2 - folder of addon2
/addon2/upload - folder for addon2's uploading files
/addon2/addon.xml - installer of addon2
/addon2/lang.xml - language for addon2 (it is not processed yet)

The note: names of folders addon1 and addon2, and also xml-files can be any. Autoinstaller simply finds a folder upload and considers that it is root for a forum and copies from it, and xml-files take from this level, as a folder upload. Thus each found xml-file in this case is checked on an accessory to addon's installer or to it's language. If xml-files of one type there will be more, than one last undertakes processed. Processing occurs without dependence from sorting as reading of catalogues and files is made by physical position. If there will be an error at plug-in installation the stop of installation of other plug-ins does not occur, but rebuild cache also is not made. Thus errors will be displayed to the user. If necessary cache it is possible to rebuild later.

With language I did not understand yet, but I think that it will be possible to compare correctly without special problems it with the necessary language.

Archive loading is made through the menu of installation of plug-ins. I.e. on the server party it is simply checked that has come - archive or xml, and then is processed already depending on it. The general logic of installation of plug-ins thus does not change, and is only extended.

screen-en.webp

1. Installation is made through a regular fitter of plug-ins.
2. If the archive its structure is checked has been loaded and depending on structure (see above) there is a processing of one or at once several plug-ins.
3. The plug-in upgrade will be if necessary made. I.e. presence of a plug-in and if it already is is checked, the information on is deduced from what version in what the upgrade (to the right of addon's ID) will be made. If the upgrade is not necessary, the version which is present in installer is underlined.
4. After loading of a package the output agent checks possibility of record of files on the server. This information is deduced before direct installation (the screenshot see).
5. Also files from a package and on the server are verified. If a file new about it it will be displayed. If the file is present and coincides with what is installed it also will be displayed. In a case when the installed file differs from being on the server, it is compared to it, and it is possible to look at result of comparison in a kind diff, having clicked on it (the screenshot see).
6. The information from points 4 and 5 only for help and allows to make sure only of absence of problems or their insignificance (for example, the impossibility of write of identical files is not critical). Also it is possible to refuse installation of all.
7. Directly installation occurs after viewing of brought changes (the above-stated points) and only those files which differ or new.
8. In case of errors at installation, they will be displayed, but rebuild cache is not made. If necessary кеш it is reconstructed manually by regular means later in corresponding section of the administrative panel.
9. Installation of a usual xml-file occurs regular procedure of installation. Thus the regular logic of work of a fitter is not broken.

TODO:
1. Processing of language files and their joint installation.
2. Installation of styles (while before it is far, but, think, is quite real).
3. Removal of out-of-date files (i.e. absent in upload a package, but present on the server).
4. To clear a code.

Installation: as any plug-in. Russian language is present in archive with a plug-in.

History:
1.0 - present only in russian forum (http://www.xf-russia.ru) and very alfa :)
1.1 (05/01/2012) - current version

P.S. Sorry for my English ;)
 

Attachments

Status
Not open for further replies.
Top Bottom