-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
201 lines (177 loc) · 7.83 KB
/
index.html
File metadata and controls
201 lines (177 loc) · 7.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="ElasticLib is a digital library. It enables you to store, retrieve and synchronize all your documents, music, pictures, videos and more. ">
<title>ElasticLib</title>
<link rel="stylesheet" href="css/bootstrap.min.css" >
<link rel="stylesheet" href="css/font-awesome.min.css">
<link rel="stylesheet" href="css/style.css">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
</head>
<body>
<a href="https://github.com/elasticlib/elasticlib">
<img class="banner"
src="https://aral.github.io/fork-me-on-github-retina-ribbons/[email protected]"
alt="Fork me on GitHub">
</a>
<div class="container">
<div class="jumbotron">
<h1>ElasticLib</h1>
<p>
ElasticLib is a digital library. It enables you to store, retrieve and synchronize all your
documents, music, pictures, videos and more.
</p>
</div>
<div class="row">
<div class="col-md-4 subheading">
<p>
<a class="btn btn-lg btn-primary"
href="https://github.com/elasticlib/elasticlib/releases/latest">
<i class="fa fa-fw fa-download"></i>
Download
</a>
</p>
<p>
Download the latest version
</p>
</div>
<div class="col-md-4 subheading">
<p>
<a class="btn btn-lg btn-primary"
href="https://github.com/elasticlib/elasticlib/wiki">
<i class="fa fa-fw fa-book"></i>
Documentation
</a>
</p>
<p>
Learn how to use ElasticLib
</p>
</div>
<div class="col-md-4 subheading">
<p>
<a class="btn btn-lg btn-primary"
href="https://github.com/elasticlib/elasticlib/wiki/Contributing">
<i class="fa fa-fw fa-users"></i>
Contribute
</a>
</p>
<p>
See how you can contribute
</p>
</div>
</div>
<h1 class="mt-none">Overview</h1>
<hr class="mt-none">
<h3>
<i class="fa fa-fw fa-compass"></i>
Goal
</h3>
<p>
The primary goal of ElasticLib is to simplify or even to get rid of the tedious tasks associated
with organizing your digital life, mainly:
</p>
<ul>
<li>Sorting files by folders</li>
<li>Retrieving a given file</li>
<li>Making backups</li>
</ul>
<h3>
<i class="fa fa-fw fa-database"></i>
Repositories
</h3>
<p>
ElasticLib lets you create repositories. Each repository is a place where you can store any type of
content. All files in a repository are automatically sorted and indexed, which means that:
</p>
<ul>
<li>
You no longer have to sort your files by folders, just put them in a repository.
</li>
<li>
You can search and retrieve files by keywords, like you would do with a search engine on the web.
</li>
</ul>
<h3>
<i class="fa fa-fw fa-search"></i>
Metadata
</h3>
<p>
Metadata is automatically extracted from each file stored in a repository.
</p>
<ul>
<li>
For an audio file, it could be the author, title, album...
</li>
<li>
For a photo, the date on which it was taken, its format and size.
</li>
<li>
Content is also extracted from readable files like PDFs or plain text ones.
</li>
</ul>
<p>
All collected metadata is stored along with associated file in the repository and indexed in an
embedded search engine, so you can find files by searching on metadata or text content. Metadata
is also freely modifiable, in order to enable you to enhance or correct information about a given
file.
</p>
<h3>
<i class="fa fa-fw fa-arrows-alt"></i>
Synchronization
</h3>
<p>
Instead of having to make backups of your files, elasticLib lets you synchronize repositories.
You just have to set up a replication between two repositories and any past or future change on one
of them will eventually be propagated to the other. To be more precise, replications can be:
</p>
<ul>
<li>Unidirectional, meaning that changes are only propagated one way.</li>
<li>Bidirectional, meaning that changes are propagated both ways.</li>
</ul>
<h3>
<i class="fa fa-fw fa-cloud"></i>
Nodes
</h3>
<p>
Repositories are managed by nodes. A node runs on a given computer and lets you:
</p>
<ul>
<li>Create repositories on this computer.</li>
<li>Put or delete files in any repository managed by this node, and edit associated metadata.</li>
<li>Search and retrieve files in a given repository.</li>
<li>Set up replications between repositories of this node or those of remote nodes on other computers.</li>
</ul>
<p>
In order to accomplish that, each node expose a RESTful API. A command-line interface enables you
to interact with this API. A web-based interface is also planned.
</p>
<h1>Roadmap</h1>
<hr class="mt-none">
<p>
This is still a work in progress. A substantial set of the core functionalities is already implemented,
which is mainly:
</p>
<ul>
<li>A basic implementation of the main operations on a repository.</li>
<li>Local replications between repositories on a given node.</li>
<li>Peer-to-peer discovery mechanisms between nodes.</li>
<li>A command line interface.</li>
</ul>
<p>Some features to be done:</p>
<ul>
<li>Requests routing and replications between nodes.</li>
<li>A web-based interface.</li>
<li>Confidentiality and access control.</li>
<li>More advanced features like filtered replications, customizable indexation...</li>
<li>Enhancement of existing functionalities.</li>
</ul>
<hr>
<footer>
Copyright © 2014 Guillaume Masclet — Licensed under the Apache License 2.0
</footer>
</div>
</body>
</html>