Application Supporting Re-Decentralization of the Web: Photo Manager Student: Bc

Application Supporting Re-Decentralization of the Web: Photo Manager Student: Bc

ASSIGNMENT OF MASTER’S THESIS Title: Application supporting re-decentralization of the Web: Photo manager Student: Bc. Karel Dvořák Supervisor: RNDr. Jakub Klímek, Ph.D. Study Programme: Informatics Study Branch: Web and Software Engineering Department: Department of Software Engineering Validity: Until the end of summer semester 2019/20 Instructions A lot of data on the current Web is stored in a centralized way, e.g. at Facebook or Google. However, the Web was originally meant to be decentralized. The current trend in Web research is therefore re-decentralization of the Web using state of the art Web technologies. - Acquaint yourself with the Linked Data principles [1], the RDF data model [2], the recent W3C Social Web recommendations and the Solid framework [4]. - Based on the survey, evaluate technologies and protocols supporting the re-decentralization of the Web. - Design, implement, test and evaluate a Solid based application supporting uploading and viewing images, which will include user authentication using WebID-TLS [5] and WebID-OIDC [6]. - Publish the project as open-source, hosted on a public repository. References [1] Linked Data, W3C, https://www.w3.org/standards/semanticweb/data [2] RDF, W3C, https://www.w3.org/TR/rdf11-concepts/ [3] Social Web Working Group, W3C, https://www.w3.org/wiki/Socialwg [4] The Solid Project, MIT, https://solid.mit.edu/ [5] WebID-TLS, W3C, https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/tls-respec.html [6] WebID-OIDC, https://github.com/solid/webid-oidc-spec Ing. Michal Valenta, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague November 28, 2018 Master’s thesis Application supporting re-decentralization of the Web: Photo manager Bc. Karel Dvořák Department of Software Engineering Supervisor: RNDr. Jakub Klímek, Ph.D. May 6, 2019 Acknowledgements I would like to thank my supervisor RNDr. Jakub Klímek, Ph.D. for his willingness, valuable advice, and mentoring provided throughout writing this thesis. I would also like to thank my family and friends for their support and help. Declaration I hereby declare that the presented thesis is my own work and that I have cited all sources of information in accordance with the Guideline for adhering to ethical principles when elaborating an academic final thesis. I acknowledge that my thesis is subject to the rights and obligations stip- ulated by the Act No. 121/2000 Coll., the Copyright Act, as amended. In accordance with Article 46(6) of the Act, I hereby grant a nonexclusive au- thorization (license) to utilize this thesis, including any and all computer pro- grams incorporated therein or attached thereto and all corresponding docu- mentation (hereinafter collectively referred to as the “Work”), to any and all persons that wish to utilize the Work. Such persons are entitled to use the Work in any way (including for-profit purposes) that does not detract from its value. This authorization is not limited in terms of time, location and quan- tity. However, all persons that makes use of the above license shall be obliged to grant a license at least in the same scope as defined above with respect to each and every work that is created (wholly or in part) based on the Work, by modifying the Work, by combining the Work with another work, by including the Work in a collection of works or by adapting the Work (including trans- lation), and at the same time make available the source code of such work at least in a way and scope that are comparable to the way and scope in which the source code of the Work is made available. In Prague on May 6, 2019 . Czech Technical University in Prague Faculty of Information Technology © 2019 Karel Dvořák. All rights reserved. This thesis is school work as defined by Copyright Act of the Czech Republic. It has been submitted at Czech Technical University in Prague, Faculty of Information Technology. The thesis is protected by the Copyright Act and its usage without author’s permission is prohibited (with exceptions defined by the Copyright Act). Citation of this thesis Dvořák, Karel. Application supporting re-decentralization of the Web: Photo manager. Master’s thesis. Czech Technical University in Prague, Faculty of Information Technology, 2019. Abstrakt Tato práce pojednává o návrhu a implementaci aplikace podporující re-decen- tralizaci Webu, která spolupracuje s technologií Solid. Na základě požadavků a výsledků analýzy je navržena aplikace zaměřena na správu fotografií. V práci je uvedena analýza, návrh, realizace, testování, a nasazení aplikace, společně se zpětnou vazbou komunity. Výstupem implementační části je webová aplikace umožňující správu fotografií na frameworku Solid. Klíčová slova Solid, propojená data, decentralizace, manažer fotografií Abstract This thesis deals with analysis and implementation of an application support- ing re-decentralization of the Web, which utilizes the Solid technology. The application focused on photo management is designed based on the require- ments and analysis. The thesis contains analysis, design, realization, testing, and deployment of the application, along with the feedback from the commu- nity. The output of the implementation part is the Web application supporting management of pictures on the Solid framework. Keywords Solid, linked data, decentralization, photo manager vii Contents Introduction 1 1 State-of-the-art 5 1.1 Available Decentralization Solutions . 5 1.2 Solid Framework . 11 1.3 Linked Data . 16 1.4 RDF . 21 1.5 WebID . 31 1.6 Current Photo Managing Applications Built on Solid . 35 2 Analysis 37 2.1 Product Statement . 37 2.2 Business Requirements . 37 2.3 Requirements Definition . 38 2.4 Use Cases Definition . 40 2.5 Scenarios Definition . 41 2.6 Domain Model . 46 3 Design 49 3.1 User Interface Design . 49 3.2 Solid Framework Libraries Description . 64 3.3 Access Lists . 68 3.4 Class Diagram . 70 4 Realization 73 4.1 Used Technologies . 73 4.2 Application’s Structure . 74 4.3 Implementation Focuses . 74 4.4 Final Version of the Pixolid Application . 91 ix 5 Testing 101 5.1 Testing Scenarios . 101 5.2 Automated Testing . 106 6 Release and Feedback 107 6.1 Release . 107 6.2 Deployment . 107 6.3 Feedback . 108 Conclusion 111 Bibliography 113 A Acronyms 117 B Developer Guide 121 B.1 Installation . 121 B.2 Running the Development Mode . 122 B.3 Running Tests . 122 C Administrator Guide 123 C.1 Installation . 123 C.2 Building the Application . 124 C.3 Deploying the Application . 124 D User Guide 127 D.1 Functionality . 127 D.2 Start Using Pixolid . 127 D.3 Individual Screens’ Description . 128 E Contents of enclosed CD 135 x List of Figures 1.1 Network types . 6 1.2 Solid POD server . 15 1.3 The LOD Cloud . 17 1.4 The RDF Triple . 22 1.5 Example: Spider-man vs. Green Goblin . 24 1.6 Timeline . 36 2.1 Use Case Diagram . 42 2.2 Domain Model . 47 3.1 Task Graph . 52 3.2 WF1 Login Provider . 54 3.3 WF2 Login WebID . 54 3.4 WF3 Login Provider Redirect . 55 3.5 WF4 Application Folder Selection . 55 3.6 WF5 Friends Images Screen . 56 3.7 WF6 Tab Bar Logout . 56 3.8 WF7 Upload Image Screen . 57 3.9 WF8 Image Selection for Upload . 57 3.10 WF9 Image Selected for Upload . 58 3.11 WF10 Private Sharing Toggled . 58 3.12 WF11 Private Sharing Friends Selection . 59 3.13 WF12 Private Sharing Friends Selected . 59 3.14 WF13 Users’ Images . 60 3.15 WF14 Image Detail . 60 3.16 WF15 Comment Typing . 61 3.17 WF16 Comment Adding . 61 3.18 WF17 Giving a Like . 62 3.19 WF18 User Profile . 62 3.20 WF19 Application Folder Change . 63 xi 3.21 WF20 Application Folder Input . 63 3.22 Pixolid Logo . 65 3.23 Pixolid Black and White Logo . 65 3.24 Pixolid Favicon . 65 3.25 Class Diagram . 71 4.1 Pixolid’s directory structure . 75 4.2 Login Provider . 91 4.3 Login WebID . 92 4.4 Login Provider Redirect . 92 4.5 Application Folder Selection . 93 4.6 Friends Images Screen . 93 4.7 Tab Bar Logout . 94 4.8 Upload Image Screen . 94 4.9 Image Selection for Upload . 95 4.10 Image Selected for Upload . 95 4.11 Private Sharing Toggled . 96 4.12 Private Sharing Friends Selection . 96 4.13 Private Sharing Friends Selected . 97 4.14 Users’ Images . 97 4.15 Image Detail . 98 4.16 Comment Typing . 98 4.17 Comment Adding . 99 4.18 Giving a Like . 99 4.19 User Profile . 100 4.20 Application Folder Change . 100 C.1 Deployment Diagram . 125 D.1 Login Screen . 128 D.2 Application Folder Selection . 129 D.3 Upload Image . 130 D.4 Friend’s Images . 131 D.5 User’s Images . ..

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    151 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us