diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 00000000..9b0a64ba
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,3 @@
+# These are supported funding model platforms
+
+github: [jendib]
diff --git a/.gitignore b/.gitignore
index 06a670ab..5560f987 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,6 @@
*.iml
node_modules
import_test
-docs-importer-linux
-docs-importer-macos
-docs-importer-win.exe
\ No newline at end of file
+teedy-importer-linux
+teedy-importer-macos
+teedy-importer-win.exe
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 30fe4095..6be6a246 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,17 +4,27 @@ language: java
before_install:
- sudo add-apt-repository -y ppa:mc3man/trusty-media
- sudo apt-get -qq update
- - sudo apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra
+ - sudo apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra tesseract-ocr-nld tesseract-ocr-tur tesseract-ocr-heb tesseract-ocr-hun tesseract-ocr-fin tesseract-ocr-swe tesseract-ocr-lav tesseract-ocr-dan
- sudo apt-get -y -q install haveged && sudo service haveged start
after_success:
- - mvn -Pprod -DskipTests clean install
- - docker login -u $DOCKER_USER -p $DOCKER_PASS
- - export REPO=sismics/docs
- - export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi`
- - docker build -f Dockerfile -t $REPO:$COMMIT .
- - docker tag $REPO:$COMMIT $REPO:$TAG
- - docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER
- - docker push $REPO
+ - |
+ if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
+ mvn -Pprod -DskipTests clean install
+ docker login -u $DOCKER_USER -p $DOCKER_PASS
+ export REPO=sismics/docs
+ export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi`
+ docker build -f Dockerfile -t $REPO:$COMMIT .
+ docker tag $REPO:$COMMIT $REPO:$TAG
+ docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER
+ docker push $REPO
+ cd docs-importer
+ export REPO=sismics/docs-importer
+ export TAG=`if [ "$TRAVIS_BRANCH" == "master" ]; then echo "latest"; else echo $TRAVIS_BRANCH ; fi`
+ docker build -f Dockerfile -t $REPO:$COMMIT .
+ docker tag $REPO:$COMMIT $REPO:$TAG
+ docker tag $REPO:$COMMIT $REPO:travis-$TRAVIS_BUILD_NUMBER
+ docker push $REPO
+ fi
env:
global:
- secure: LRGpjWORb0qy6VuypZjTAfA8uRHlFUMTwb77cenS9PPRBxuSnctC531asS9Xg3DqC5nsRxBBprgfCKotn5S8nBSD1ceHh84NASyzLSBft3xSMbg7f/2i7MQ+pGVwLncusBU6E/drnMFwZBleo+9M8Tf96axY5zuUp90MUTpSgt0=
diff --git a/Dockerfile b/Dockerfile
index 74764c72..736f881a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,7 @@
FROM sismics/ubuntu-jetty:9.4.12
MAINTAINER b.gamard@sismics.com
-RUN apt-get update && apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra && \
+RUN apt-get update && apt-get -y -q install ffmpeg mediainfo tesseract-ocr tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-kor tesseract-ocr-rus tesseract-ocr-ukr tesseract-ocr-spa tesseract-ocr-ara tesseract-ocr-hin tesseract-ocr-deu tesseract-ocr-pol tesseract-ocr-jpn tesseract-ocr-por tesseract-ocr-tha tesseract-ocr-jpn tesseract-ocr-chi-sim tesseract-ocr-chi-tra tesseract-ocr-nld tesseract-ocr-tur tesseract-ocr-heb tesseract-ocr-hun tesseract-ocr-fin tesseract-ocr-swe tesseract-ocr-lav tesseract-ocr-dan && \
apt-get clean && rm -rf /var/lib/apt/lists/*
# Remove the embedded javax.mail jar from Jetty
@@ -9,3 +9,5 @@ RUN rm -f /opt/jetty/lib/mail/javax.mail.glassfish-*.jar
ADD docs.xml /opt/jetty/webapps/docs.xml
ADD docs-web/target/docs-web-*.war /opt/jetty/webapps/docs.war
+
+ENV JAVA_OPTIONS -Xmx1g
\ No newline at end of file
diff --git a/README.md b/README.md
index 21876f18..b02c831b 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,24 @@
-
+
-[![Twitter: @sismicsdocs](https://img.shields.io/badge/contact-@sismicsdocs-blue.svg?style=flat)](https://twitter.com/sismicsdocs)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
[![Build Status](https://secure.travis-ci.org/sismics/docs.png)](http://travis-ci.org/sismics/docs)
-Docs is an open source, lightweight document management system for individuals and businesses.
-
-**Discuss it on [Product Hunt](https://www.producthunt.com/posts/sismics-docs) 🦄**
+Teedy is an open source, lightweight document management system for individuals and businesses.
-![New!](https://www.sismicsdocs.com/img/laptop-demo.png?20180301)
+![New!](https://teedy.io/img/laptop-demo.png?20180301)
Demo
----
-A demo is available at [demo.sismicsdocs.com](https://demo.sismicsdocs.com)
+A demo is available at [demo.teedy.io](https://demo.teedy.io)
- Guest login is enabled with read access on all documents
- "admin" login with "admin" password
- "demo" login with "password" password
@@ -31,16 +28,19 @@ Features
- Responsive user interface
- Optical character recognition
+- LDAP authentication ![New!](https://www.sismics.com/public/img/new.png)
- Support image, PDF, ODT, DOCX, PPTX files
-- Video file support ![New!](https://www.sismics.com/public/img/new.png)
+- Video file support
- Flexible search engine with suggestions and highlighting
- Full text search in all supported files
- All [Dublin Core](http://dublincore.org/) metadata
+- Custom user-defined metadata ![New!](https://www.sismics.com/public/img/new.png)
- Workflow system ![New!](https://www.sismics.com/public/img/new.png)
- 256-bit AES encryption of stored files
+- File versioning ![New!](https://www.sismics.com/public/img/new.png)
- Tag system with nesting
-- Import document from email (EML format) ![New!](https://www.sismics.com/public/img/new.png)
-- Automatic inbox scanning and importing ![New!](https://www.sismics.com/public/img/new.png)
+- Import document from email (EML format)
+- Automatic inbox scanning and importing
- User/group permission system
- 2-factor authentication
- Hierarchical groups
@@ -49,22 +49,23 @@ Features
- Storage quota per user
- Document sharing by URL
- RESTful Web API
-- Webhooks to trigger external service ![New!](https://www.sismics.com/public/img/new.png)
+- Webhooks to trigger external service
- Fully featured Android client
-- [Bulk files importer](https://github.com/sismics/docs/tree/master/docs-importer) (single or scan mode) ![New!](https://www.sismics.com/public/img/new.png)
+- [Bulk files importer](https://github.com/sismics/docs/tree/master/docs-importer) (single or scan mode)
- Tested to one million documents
Install with Docker
-------------------
-From a Docker host, run this command to download and install Sismics Docs. The server will run on .
-**The default admin password is "admin". Don't forget to change it before going to production.**
+A preconfigured Docker image is available, including OCR and media conversion tools, listening on port 8080. The database is an embedded H2 database but PostgreSQL is also supported for more performance.
- docker run --rm --name sismics_docs_latest -d -e DOCS_BASE_URL='http://[your-docker-host-ip]:8100' -p 8100:8080 -v sismics_docs_latest:/data sismics/docs:latest
- **Note:** You will need to change [your-docker-host-ip] with the IP address or FQDN of your docker host e.g.
-
- FQDN: http://docs.sismics.com
- IP: http://192.168.100.10
+**The default admin password is "admin". Don't forget to change it before going to production.**
+- Master branch, can be unstable. Not recommended for production use: `sismics/docs:latest`
+- Latest stable version: `sismics/docs:v1.8`
+
+The data directory is `/data`. Don't forget to mount a volume on it.
+
+To build external URL, the server is expecting a `DOCS_BASE_URL` environment variable (for example https://teedy.mycompany.com)
Manual installation
-------------------
@@ -80,12 +81,12 @@ Manual installation
The latest release is downloadable here: in WAR format.
**The default admin password is "admin". Don't forget to change it before going to production.**
-How to build Docs from the sources
+How to build Teedy from the sources
----------------------------------
-Prerequisites: JDK 8 with JCE, Maven 3, Tesseract 3 or 4
+Prerequisites: JDK 8 with JCE, Maven 3, NPM, Grunt, Tesseract 3 or 4
-Docs is organized in several Maven modules:
+Teedy is organized in several Maven modules:
- docs-core
- docs-web
@@ -121,19 +122,8 @@ All contributions are more than welcomed. Contributions may close an issue, fix
The `master` branch is the default and base branch for the project. It is used for development and all Pull Requests should go there.
-
-Community
----------
-
-Get updates on Sismics Docs' development and chat with the project maintainers:
-
-- Follow [@sismicsdocs on Twitter](https://twitter.com/sismicsdocs)
-- Read and subscribe to [The Official Sismics Docs Blog](https://blog.sismicsdocs.com/)
-- Check the [Official Website](https://www.sismicsdocs.com)
-- Join us [on Facebook](https://www.facebook.com/sismicsdocs)
-
License
-------
-Docs is released under the terms of the GPL license. See `COPYING` for more
+Teedy is released under the terms of the GPL license. See `COPYING` for more
information or see .
diff --git a/docs-android/app/build.gradle b/docs-android/app/build.gradle
index 25cfc4f4..1e5664eb 100644
--- a/docs-android/app/build.gradle
+++ b/docs-android/app/build.gradle
@@ -4,7 +4,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.2.1'
+ classpath 'com.android.tools.build:gradle:3.4.0'
}
}
apply plugin: 'com.android.application'
diff --git a/docs-android/app/src/main/AndroidManifest.xml b/docs-android/app/src/main/AndroidManifest.xml
index 66708a1d..32699962 100644
--- a/docs-android/app/src/main/AndroidManifest.xml
+++ b/docs-android/app/src/main/AndroidManifest.xml
@@ -8,13 +8,14 @@
+
+ android:theme="@style/AppTheme">
parent, View view, int position, long id) {
@@ -88,15 +88,15 @@ public class AuditLogActivity extends AppCompatActivity {
* Refresh the view.
*/
private void refreshView(String documentId) {
- final SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
- final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar);
- final ListView auditLogListView = (ListView) findViewById(R.id.auditLogListView);
+ final SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout);
+ final ProgressBar progressBar = findViewById(R.id.progressBar);
+ final ListView auditLogListView = findViewById(R.id.auditLogListView);
progressBar.setVisibility(View.VISIBLE);
auditLogListView.setVisibility(View.GONE);
AuditLogResource.list(this, documentId, new HttpCallback() {
@Override
public void onSuccess(JSONObject response) {
- auditLogListView.setAdapter(new AuditLogListAdapter(response.optJSONArray("logs")));
+ auditLogListView.setAdapter(new AuditLogListAdapter(AuditLogActivity.this, response.optJSONArray("logs")));
}
@Override
diff --git a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java
index 83c03f35..912f9d81 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java
@@ -1,8 +1,6 @@
package com.sismics.docs.adapter;
import android.content.Context;
-import android.content.Intent;
-import android.text.TextUtils;
import android.text.format.DateFormat;
import android.view.LayoutInflater;
import android.view.View;
@@ -30,12 +28,19 @@ public class AuditLogListAdapter extends BaseAdapter {
*/
private List logList;
+ /**
+ * Context.
+ */
+ private Context context;
+
/**
* Audit log list adapter.
*
+ * @param context Context
* @param logs Logs
*/
- public AuditLogListAdapter(JSONArray logs) {
+ public AuditLogListAdapter(Context context, JSONArray logs) {
+ this.context = context;
this.logList = new ArrayList<>();
for (int i = 0; i < logs.length(); i++) {
@@ -67,11 +72,21 @@ public class AuditLogListAdapter extends BaseAdapter {
// Build message
final JSONObject log = getItem(position);
- StringBuilder message = new StringBuilder(log.optString("class"));
+ StringBuilder message = new StringBuilder();
+
+ // Translate entity name
+ int stringId = context.getResources().getIdentifier("auditlog_" + log.optString("class"), "string", context.getPackageName());
+ if (stringId == 0) {
+ message.append(log.optString("class"));
+ } else {
+ message.append(context.getResources().getString(stringId));
+ }
+ message.append(" ");
+
switch (log.optString("type")) {
- case "CREATE": message.append(" created"); break;
- case "UPDATE": message.append(" updated"); break;
- case "DELETE": message.append(" deleted"); break;
+ case "CREATE": message.append(context.getResources().getString(R.string.auditlog_created)); break;
+ case "UPDATE": message.append(context.getResources().getString(R.string.auditlog_updated)); break;
+ case "DELETE": message.append(context.getResources().getString(R.string.auditlog_deleted)); break;
}
switch (log.optString("class")) {
case "Document":
@@ -85,9 +100,9 @@ public class AuditLogListAdapter extends BaseAdapter {
}
// Fill the view
- TextView usernameTextView = (TextView) view.findViewById(R.id.usernameTextView);
- TextView messageTextView = (TextView) view.findViewById(R.id.messageTextView);
- TextView dateTextView = (TextView) view.findViewById(R.id.dateTextView);
+ TextView usernameTextView = view.findViewById(R.id.usernameTextView);
+ TextView messageTextView = view.findViewById(R.id.messageTextView);
+ TextView dateTextView = view.findViewById(R.id.dateTextView);
usernameTextView.setText(log.optString("username"));
messageTextView.setText(message);
String date = DateFormat.getDateFormat(parent.getContext()).format(new Date(log.optLong("create_date")));
diff --git a/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java b/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java
index a5f24ce3..80797651 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/adapter/LanguageAdapter.java
@@ -33,6 +33,7 @@ public class LanguageAdapter extends BaseAdapter {
}
languageList.add(new Language("fra", R.string.language_french, R.drawable.fra));
languageList.add(new Language("eng", R.string.language_english, R.drawable.eng));
+ languageList.add(new Language("deu", R.string.language_german, R.drawable.deu));
}
@Override
diff --git a/docs-android/app/src/main/java/com/sismics/docs/fragment/DocListFragment.java b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocListFragment.java
index 37798759..18894039 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/fragment/DocListFragment.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocListFragment.java
@@ -63,14 +63,13 @@ public class DocListFragment extends Fragment {
recyclerView.setAdapter(adapter);
recyclerView.setHasFixedSize(true);
recyclerView.setLongClickable(true);
- recyclerView.addItemDecoration(new DividerItemDecoration(getResources().getDrawable(R.drawable.abc_list_divider_mtrl_alpha)));
// Configure the LayoutManager
final LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(layoutManager);
// Configure the swipe refresh layout
- swipeRefreshLayout = (SwipeRefreshLayout) view.findViewById(R.id.swipeRefreshLayout);
+ swipeRefreshLayout = view.findViewById(R.id.swipeRefreshLayout);
swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
android.R.color.holo_green_light,
android.R.color.holo_orange_light,
@@ -194,7 +193,7 @@ public class DocListFragment extends Fragment {
private void loadDocuments(final View view, final boolean reset) {
if (view == null) return;
final View progressBar = view.findViewById(R.id.progressBar);
- final TextView documentsEmptyView = (TextView) view.findViewById(R.id.documentsEmptyView);
+ final TextView documentsEmptyView = view.findViewById(R.id.documentsEmptyView);
if (reset) {
loading = true;
diff --git a/docs-android/app/src/main/java/com/sismics/docs/service/FileUploadService.java b/docs-android/app/src/main/java/com/sismics/docs/service/FileUploadService.java
index 07fcb6cd..4a17325a 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/service/FileUploadService.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/service/FileUploadService.java
@@ -1,10 +1,12 @@
package com.sismics.docs.service;
import android.app.IntentService;
+import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.net.Uri;
+import android.os.Build;
import android.os.PowerManager;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.Builder;
@@ -29,7 +31,8 @@ import okhttp3.internal.Util;
* @author bgamard
*/
public class FileUploadService extends IntentService {
- private static final String TAG = "FileUploadService";
+ private static final String TAG = "sismicsdocs:fileupload";
+ private static final String CHANNEL_ID = "FileUploadService";
private static final int UPLOAD_NOTIFICATION_ID = 1;
private static final int UPLOAD_NOTIFICATION_ID_DONE = 2;
@@ -49,18 +52,30 @@ public class FileUploadService extends IntentService {
super.onCreate();
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
- notification = new NotificationCompat.Builder(this);
+ initChannels();
+ notification = new NotificationCompat.Builder(this, CHANNEL_ID);
PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
}
+ private void initChannels() {
+ if (Build.VERSION.SDK_INT < 26) {
+ return;
+ }
+
+ NotificationChannel channel = new NotificationChannel(CHANNEL_ID,
+ "File Upload", NotificationManager.IMPORTANCE_HIGH);
+ channel.setDescription("Used to show file upload progress");
+ notificationManager.createNotificationChannel(channel);
+ }
+
@Override
protected void onHandleIntent(Intent intent) {
if (intent == null) {
return;
}
- wakeLock.acquire();
+ wakeLock.acquire(60_000 * 30); // 30 minutes upload time maximum
try {
onStart();
handleFileUpload(intent.getStringExtra(PARAM_DOCUMENT_ID), (Uri) intent.getParcelableExtra(PARAM_URI));
@@ -77,7 +92,7 @@ public class FileUploadService extends IntentService {
*
* @param documentId Document ID
* @param uri Data URI
- * @throws IOException
+ * @throws IOException e
*/
private void handleFileUpload(final String documentId, final Uri uri) throws Exception {
final InputStream is = getContentResolver().openInputStream(uri);
diff --git a/docs-android/app/src/main/java/com/sismics/docs/util/OkHttpUtil.java b/docs-android/app/src/main/java/com/sismics/docs/util/OkHttpUtil.java
index 8ab91793..26077f6f 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/util/OkHttpUtil.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/util/OkHttpUtil.java
@@ -156,7 +156,7 @@ public class OkHttpUtil {
public static OkHttpClient buildClient(final Context context) {
// One-time header computation
if (userAgent == null) {
- userAgent = "Sismics Docs Android " + ApplicationUtil.getVersionName(context) + "/Android " + Build.VERSION.RELEASE + "/" + Build.MODEL;
+ userAgent = "Teedy Android " + ApplicationUtil.getVersionName(context) + "/Android " + Build.VERSION.RELEASE + "/" + Build.MODEL;
}
if (acceptLanguage == null) {
diff --git a/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java b/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java
index 42522174..107d289f 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java
@@ -39,7 +39,9 @@ public class SearchQueryBuilder {
*/
public SearchQueryBuilder simpleSearch(String simpleSearch) {
if (isValid(simpleSearch)) {
- query.append(SEARCH_SEPARATOR).append(simpleSearch);
+ query.append(SEARCH_SEPARATOR)
+ .append("simple:")
+ .append(simpleSearch);
}
return this;
}
diff --git a/docs-android/app/src/main/res/drawable-xhdpi/deu.png b/docs-android/app/src/main/res/drawable-xhdpi/deu.png
new file mode 100644
index 00000000..f459ec25
Binary files /dev/null and b/docs-android/app/src/main/res/drawable-xhdpi/deu.png differ
diff --git a/docs-android/app/src/main/res/drawable-xxhdpi/deu.png b/docs-android/app/src/main/res/drawable-xxhdpi/deu.png
new file mode 100644
index 00000000..9468588d
Binary files /dev/null and b/docs-android/app/src/main/res/drawable-xxhdpi/deu.png differ
diff --git a/docs-android/app/src/main/res/layout/doc_list_item.xml b/docs-android/app/src/main/res/layout/doc_list_item.xml
index 0aae61da..a0e35439 100644
--- a/docs-android/app/src/main/res/layout/doc_list_item.xml
+++ b/docs-android/app/src/main/res/layout/doc_list_item.xml
@@ -29,7 +29,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-light"
- android:textColor="#212121"
+ android:textColor="?android:attr/textColorPrimary"
android:text="Test"
android:textSize="16sp"
android:ellipsize="end"
@@ -46,7 +46,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-light"
- android:textColor="#777777"
+ android:textColor="?android:attr/textColorPrimary"
android:text="test2"
android:textSize="16sp"
android:maxLines="1"
@@ -69,7 +69,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
- android:textColor="#777777"
+ android:textColor="?android:attr/textColorPrimary"
android:fontFamily="sans-serif-light"/>
\ No newline at end of file
diff --git a/docs-android/app/src/main/res/layout/main_activity.xml b/docs-android/app/src/main/res/layout/main_activity.xml
index e5375a54..8abdcf2f 100644
--- a/docs-android/app/src/main/res/layout/main_activity.xml
+++ b/docs-android/app/src/main/res/layout/main_activity.xml
@@ -9,23 +9,22 @@
-
-
-
-
+ android:layout_height="wrap_content">
-
+
+
+
+
+
+
+
+ Ungültige E-Mail
+ Zu kurz (min. %d)
+ Zu lang (max. %d)
+ Erforderlich
+ Nur Buchstaben und Zahlen
+
+
+ Navigationsleiste öffnen
+ Navigationsleiste schließen
+ github.com/sismics/docs, sowie die Login-Daten unten eingeben]]>
+ Server
+ Username
+ Password
+ Login
+ OK
+ Abbrechen
+ Login gescheitert
+ Benutzername oder Passwort falsch
+ Netzwerkfehler
+ Netzwerkfehler, überprüfen Sie die Internetverbindung und die Server-URL
+ Ungültige URL
+ Bitte überprüfen Sie die Server-URL und versuchen Sie es erneut
+ Ein Absturz ist aufgetreten, ein Bericht wurde gesendet, um dieses Problem zu beheben
+ Erstellungsdatum
+ Aktuelle Datei herunterladen
+ Herunterladen
+ Dokumente durchsuchen
+ Alle Dokumente
+ Geteilte Dokumente
+ Alle Tags
+ Keine Tags
+ Fehler beim Laden von Tags
+ Keine Dokumente
+ Fehler beim Laden von Dokumenten
+ Keine Dateien
+ Fehler beim Laden von Dateien
+ Neues Dokument
+ Teilen
+ Schließen
+ Hinzufügen
+ Freigabename (optional)
+ Dieses Dokument wird derzeit nicht freigegeben
+ Diese Freigabe löschen
+ Send this share link
+ Fehler beim Laden von Freigaben
+ Fehler beim Hinzufügen der Freigabe
+ Freigabe Link
+ Fehler beim Löschen der Freigabe
+ Freigabe senden an
+ Datei hinzufügen
+ Datei hochladen von
+ Einstellungen
+ Ausloggen
+ Version
+ Build
+ Erweiterte Einstellungen
+ Über
+ GitHub
+ Fehler berichten
+ Cache leeren
+ Zwischengespeicherte Dateien löschen
+ Cache wurde geleert
+ Suchhistorie löschen
+ Leert die aktuellen Suchvorschläge
+ Suchvorschläge wurden gelöscht
+ Cache Größe
+ Speichern
+ Bearbeiten
+ Netzwerkfehler, bitte versuchen Sie es erneut
+ Bitte warten
+ Daten werden gesendet
+ Löschen
+ Dokument löschen
+ Dieses Dokument und alle zugehörigen Dateien wirklich löschen?
+ Netzwerkfehler beim Löschen des Dokuments
+ Lösche Dokument
+ Datei löschen
+ Die aktuelle Datei wirklich löschen?
+ Netzwerkfehler beim Löschen der Datei
+ Lösche Datei
+ Fehler beim Lesen der Datei
+ Teedy
+ Neue Datei in das Dokument hochladen
+ Fehler beim Hochladen der neuen Datei
+ Aktuelle Datei löschen
+ Erweiterte Suche
+ Suche
+ Tags hinzufügen
+ Erstellungsdatum
+ Beschreibung
+ Titel
+ Einfache Suche
+ Volltextsuche
+ Ersteller
+ Nach Datum
+ Vor Datum
+ Tags durchsuchen
+ Alle Sprachen
+ Informationen anzeigen
+ Wer kann darauf zugreifen?
+ Kommentare
+ Keine Kommentare
+ Fehler beim Laden von Kommentaren
+ Senden
+ Kommentar hinzufügen
+ Fehler beim Hinzufügen des Kommentars
+ Füge Kommentar hinzu
+ Kommentar löschen
+ Lösche Kommentar
+ Fehler beim Löschen des Kommentars
+ PDF
+ Download
+ Rand
+ Bild an Seite anpassen
+ Kommentare exportieren
+ Metadaten exportieren
+ mm
+ Teedy Datei Export
+ Teedy Dokumentenexport
+ Teedy PDF Export
+ Letzte Aktivität
+ Aktivitäten
+ E-Mail
+ Speicherbegrenzung
+ %1$d/%2$d MB
+ Validierungscode
+ Geteilt
+ Sprache
+ Geltungsbereich
+ Typ
+ Quelle
+ Format
+ Verleger
+ Identifikator
+ Thema
+ Rechte
+ Mitwirkende
+ Beziehungen
+
+
+ ACL
+ Kommentar
+ Dokument
+ Datei
+ Gruppe
+ Workflow
+ Workflow-Muster
+ Tag
+ Benutzer
+ Webhook
+ erstellt
+ aktualisiert
+ gelöscht
+
+
diff --git a/docs-android/app/src/main/res/values-fr/strings.xml b/docs-android/app/src/main/res/values-fr/strings.xml
index 8933a715..79910dcc 100644
--- a/docs-android/app/src/main/res/values-fr/strings.xml
+++ b/docs-android/app/src/main/res/values-fr/strings.xml
@@ -11,7 +11,7 @@
Ouvrir le menu de navigation
Fermer le menu de navigation
- github.com/sismics/docs et entrer son URL ci-dessous]]>
+ github.com/sismics/docs et entrer son URL ci-dessous]]>
Serveur
Nom d\'utilisateur
Mot de passe
@@ -83,7 +83,7 @@
Erreur réseau lors de la suppression du fichier
Suppression du fichier
Erreur lors de la lecture du fichier
- Sismics Docs
+ Teedy
Envoi du nouveau fichier
Erreur lors de l\'envoi du nouveau fichier
Supprimer ce fichier
@@ -119,9 +119,9 @@
Exporter les commentaires
Exporter les métadonnées
mm
- Export de fichier Sismics Docs
- Export de document Sismics Docs
- Export PDF Sismics Docs
+ Export de fichier Teedy
+ Export de document Teedy
+ Export PDF Teedy
Activité récente
Activité
E-mail
@@ -141,4 +141,19 @@
Contributeurs
Relations
+
+ ACL
+ Commentaire
+ Document
+ Fichier
+ Groupe
+ Workflow
+ Modèle de workflow
+ Tag
+ Utilisateur
+ Webhook
+ créé
+ mis à jour
+ supprimé
+
diff --git a/docs-android/app/src/main/res/values/strings.xml b/docs-android/app/src/main/res/values/strings.xml
index 5d453293..65dd4d83 100644
--- a/docs-android/app/src/main/res/values/strings.xml
+++ b/docs-android/app/src/main/res/values/strings.xml
@@ -9,10 +9,10 @@
Only letters and numbers
- Sismics Docs
+ Teedy
Open navigation drawer
Close navigation drawer
- github.com/sismics/docs and enter its below]]>
+ github.com/sismics/docs and enter its below]]>
Server
Username
Password
@@ -71,6 +71,7 @@
Cache size
Français
English
+ Deutsch
Save
Edit
Network error, please try again
@@ -86,7 +87,7 @@
Network error while deleting the current file
Deleting file
Error while reading the file
- Sismics Docs
+ Teedy
Uploading the new file to the document
Error uploading the new file
Delete current file
@@ -122,9 +123,9 @@
Export comments
Export metadata
mm
- Sismics Docs file export
- Sismics Docs document export
- Sismics Docs PDF export
+ Teedy file export
+ Teedy document export
+ Teedy PDF export
Latest activity
Activity
E-mail
@@ -144,4 +145,19 @@
Contributors
Relations
+
+ ACL
+ Comment
+ Document
+ File
+ Group
+ Workflow
+ Workflow model
+ Tag
+ User
+ Webhook
+ created
+ updated
+ deleted
+
diff --git a/docs-android/app/src/main/res/values/styles.xml b/docs-android/app/src/main/res/values/styles.xml
index 953c239b..62458393 100644
--- a/docs-android/app/src/main/res/values/styles.xml
+++ b/docs-android/app/src/main/res/values/styles.xml
@@ -1,12 +1,12 @@
-
-
-