ApiFusion.org/Modules/Import

From ApiFusion
Jump to: navigation, search

Invoked from sidebar Tools/Import.

Import between mediawiki

ImportWiki.html gives ability to import content of one MediaWiki into another in browser. You could choose the import of whole content, pages, or namespaces.

GIT Repositories

ImportGit.html is a tool to sync external git repository folder to AF subfolder.

Same AF subtree could reflect the hierarchy of different repositories, each holding particular type of information. For example, API documentation could reside in separate repo from sources of embedded into sources themselves; contributors info structure will not match the source hierarchy leaving only top levels where particular contributor was involved.

Import

For import from git repository you would need a git-restful server instance access.

ImportGit.html is the wizard of folders/files along with recognized features. Wizard guides over features and help to select the relevant and updated(since last sync) ones. Once sync content selected, it will be posted under AF project/module tree.

It shall be available on any project level with ability to override the path within version control.

Export

Back commit of AF data to version control TBD.

Export to another wiki is possible via ImportWiki.html which allows to point source and destination wiki URLs.

UI access

The command will be available for every page over Tools menu in Sidebar

Repo sync

Two-way synchronization with exposed diffs and author/dates TBD.

Project level

Has multiple modules listed. Import action should trigger the previously configured imports on each.

Import configuration

The import configuration for module is set during the first import action and comprise

  • the repository path
  • path of (sub-)module
  • namespaces selection where imported data preserved

By default all namespaces will try to get relevant information from data at repository path.

Requirements

Org scope

The import process runs in the scope of organization creating if necessary

  1. project within organization( defaults to current org )
  2. repository in Project/Sources

The creation of organization is a separate flow due to need for confirmed authentication and ownership. Auto-Creation could be added if owner authentication within org could be defined synchronously( during import process ).

VC repo authentication

Import process would not take any measurements towards security and version control ( VC ) access authentication. The only way of access to private repository protected with user credentials is to pass those in plain as part of URL.

Legal disclaimer

the VC URL is a visible to public record in Source:org/proj/Source/repo page. Do not use security sensitive information in URL including user name and password.

Way around:

  1. Use local Apache server URL with reverse proxy which use authenticated URL
  2. Run own instance of git-restful server and keep VC authentication in config or via authentication agent omitting the user credentials in URL.
  3. The git-restful server and ApiFusion.org platform could be installed locally in secure intranet. Import to the local AF instance first and synchronize *project/Source/repo* to public AF site. Still you should be OK with having URL exposed in Source:org/proj/Source/repo page locally and do not export this page to public site.

Discreet flow steps

Each step is a separated as logistically as visually.

  • The step could not be reversed hence the UX of passed step should be disabled
  • The steps have a straight dependency hence UX of non-current step should be disabled