Skip to content

Latest commit

 

History

History
32 lines (24 loc) · 3.36 KB

introduction.md

File metadata and controls

32 lines (24 loc) · 3.36 KB

There is a large variety of specialized tools that can be used for managing wikis. Most of the systems however, are focused on the ease of use for the new or unexperienced users. They lack features desired by the advanced users, such as software developers. The thesis tackles to solve the issue by developing a wiki system for the unexperienced and the advanced users alike, to provide an interface for developing complex, structured documents.

The means of achieving the goals, namely the potential to satisfy the advanced users are of architectural nature. They include, but are not limited to, the incorporation of years tested technologies used by developers, to design the system upon. One of which is Git, which is a powerful VCS, growing in popularity amongst OSS community and even corporate development. Another example is an emphasis on using a LML for the document notation. LMLs, such as Markdown or AsciiDoc are favored over binary document formats for their readability and line-oriented snapshot versioning potential; and even over the complex and difficult to write markup languages (e.g. \LaTeX\ or HTML), for their simplicity. A strong aspect of the system supporting efficiency and comfort of use for the advanced users is to provide a CLI via Git, apart from a WUI. The two interfaces provide equal access options for the users. For better support of the collaborative development, the system features access control.

In \hyperref[chapter:goal]{the following chapter} the assignment instructions are elaborated and it is explained what is considered a wiki system.

A high abstraction concept of the system from the user perspective is demonstrated on the business process model in the \hyperref[chapter:analysis]{analysis}. The following section in the chapter (\hyperref[user-access]{User access}), resolves fundamental architectural decisions regarding authorization, which force restrictions on the system requirements. Finally the system is defined through the conventional means of requirements and use case model and then the relations between the individual use cases and the functional requirements are commented on.

With the system definition from the analysis, the existing wiki systems that use the Git VCS are researched and reviewed from the perspective of criteria defined in the analysis. Doing which, the defects of the systems regarding the criteria in the summary are pointed out.

Solutions for the discovered imperfections in the systems are proposed in the chapter \hyperref[chapter:design]{Design}. Apart from that, the chapter discusses the major libraries used in the system that have impact on its design. The architecture of the system is presented and description of its core components is provided. A low fidelity prototype of the UI is designed.

In the following chapter \hyperref[chapter:design]{UI testing} a static usability testing using a UI heuristic is performed, the results and proposed corrections for the identified issues are presented.

The implementation information is briefly summarized in the chapter \hyperref[chapter:implementation]{Implementation} and selected obstacles faced during the realization are discussed along with the applied solution.

The technologies used for the automated testing along with the materials, process and the conclusion of the usability testing are included in the final chapter \hyperref[chapter:testing]{Testing}.