.substr() is deprecated so we replace it with .slice() which works similarily but isn't deprecated
Signed-off-by: Tobias Speicher <rootcommander@gmail.com>
title and description where not populated and also opposed to documentation the link is not absolute
Signed-off-by: Joas Schilling <coding@schilljs.com>
Validate get boad
change pattern of api params
Import only one board by api
Populate data from api
Update class diagram
Update documentation
Add return when success
Sort comments
Fix order of cards
Instructions of attachments
Signed-off-by: Vitor Mattos <vitor@php.rio>
Implement name of system to import
Implement need validate data
Fix allowed system list
Start implementing Trello API service
Signed-off-by: Vitor Mattos <vitor@php.rio>
Fixes on getBoard tests
Refactor
Reduce psalm info
Refactor to implement pattern
Change order of methods to put all abstract first and all public first
Signed-off-by: Vitor Mattos <vitor@php.rio>
Fix visibility
Make compatible with php 7.2
Remove returing instance
Increase coverage
Reduce psalm info
Throw exception if system not defined
Increment coverage
Signed-off-by: Vitor Mattos <vitor@php.rio>
Check available helpers
Default permission: view only
Moved validate setting from helper to command
Turn more easy create a importer
Docblock and improvements on interface
lcfirst on system property
Helper moved to ImporHelper folder
Moved fixtures to ImportHelper
Rename settings to config
Big refactor to move import methods to service
Signed-off-by: Vitor Mattos <vitor@php.rio>
Clean code
Add new command
Import last modified and deleted date
Replace arrow functions by lambda functions
Add properties to class
Add dependency to composer.json
Signed-off-by: Vitor Mattos <vitor@php.rio>
Turn private methods
Add output messages and associate users to cards
Signed-off-by: Vitor Mattos <vitor@php.rio>
@@ -24,9 +24,9 @@ Deck is a kanban style organization tool aimed at personal planning and project
### 3rd-Party Integrations
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
-
## Installation/Update
This app is supposed to work on the two latest Nextcloud versions.
@@ -52,6 +52,17 @@ Please make sure you have installed the following dependencies: `make, which, ta
Instead of setting everything up manually, you can just [download the nightly build](https://github.com/nextcloud/deck/releases/tag/nightly) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
## Performance limitations
Deck is not yet ready for intensive usage.
A lot of database queries are generated when the number of boards, cards and attachments is high.
For example, a user having access to 13 boards, with each board having on average 100 cards,
and each card having on average 5 attachments,
would generate 6500 database queries when doing the file related queries
which would increase the page loading time significantly.
Improvements on Nextcloud server and Deck itself will improve the situation.
## Developing
### PHP
@@ -60,6 +71,8 @@ Nothing to prepare, just dig into the code.
### JavaScript
This requires at least Node 14 and npm 7 to be installed.
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
@@ -96,10 +96,27 @@ If available the ETag will also be part of JSON response objects as shown below
# Changelog
## 1.0.0 (unreleased)
## API version 1.0
- Deck >=1.0.0: The maximum length of the card title has been extended from 100 to 255 characters
- Deck >=1.0.0: The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
## API version 1.1
This API version has become available with **Deck 1.3.0**.
- The maximum length of the card title has been extended from 100 to 255 characters
- The API will now return a 400 Bad request response if the length limitation of a board, stack or card title is exceeded
- The attachments API endpoints will return other attachment types than deck_file
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
## API version 1.2 (unreleased)
- Endpoints for the new import functionality have been added:
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
# Endpoints
@@ -927,7 +944,8 @@ The request can fail with a bad request response for the following reasons:
| type | String | The type of the attachement |
| file | Binary | File data to add as an attachment |
For now only `deck_file` is supported as an attachment type.
- Prior to Deck version v1.3.0 (API v1.0), attachments were stored within deck. For this type of attachments `deck_file` was used as the default type of attachments
- Starting with Deck version 1.3.0 (API v1.1) files are stored within the users regular Nextcloud files and the type `file` has been introduced for that
#### Response
@@ -988,6 +1006,49 @@ For now only `deck_file` is supported as an attachment type.
##### 200 Success
### GET /boards/import/getSystems - Import a board
| system | string | The allowed name of system to import from |
| config | Object | The config object (JSON) |
| data | Object | The data object to import (JSON) |
#### Response
##### 200 Success
# OCS API
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
@@ -1004,6 +1065,7 @@ Deck stores user and app configuration values globally and per board. The GET en
| Config key | Description |
| --- | --- |
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
```
@@ -1016,6 +1078,7 @@ Deck stores user and app configuration values globally and per board. The GET en
},
"data": {
"calendar": true,
"cardDetailsInModal": true,
"groupLimit": [
{
"id": "admin",
@@ -1045,6 +1108,7 @@ Deck stores user and app configuration values globally and per board. The GET en
6. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
6. [Import boards](#6-import-boards)
7. [Search](#7-search)
8. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
### 1. Create my first board
In this example, we're going to create a board and share it with an other nextcloud user.
@@ -70,14 +72,80 @@ The **sharing tab** allows you to add users or even groups to your boards.
**Deleted objects** allows you to return previously deleted stacks or cards.
The **Timeline** allows you to see everything that happened in your boards. Everything!
## Search
### 6. Import boards
Importing can be done using the API or the `occ``deck:import` command.
Comments with more than 1000 characters are placed as attached files to the card.
It is possible to import from the following sources:
#### Trello JSON
Steps:
* Create the data file
* Access Trello
* go to the board you want to export
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
* Create the configuration file
* Execute the import informing the import file path, data file and source as `Trello JSON`
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
Example configuration file:
```json
{
"owner":"admin",
"color":"0800fd",
"uidRelation":{
"johndoe":"johndoe"
}
}
```
**Limitations**:
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
#### Trello API
Import using API is recommended for boards with more than 1000 actions.
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
* Get the ID of the board you want to import by making a request to:
This ID you will use in the configuration file in the `board` property
* Create the configuration file
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
This search allows advanced filtering of cards across all board of the logged in user.
For example the search `project tag:ToDo assigned:alice assigned:bob` will return all cards where the card title or description contains project **and** the tag ToDo is set **and** the user alice is assigned **and** the user bob is assigned.
* Create a new importer class extending `ABoardImportService`
* Create a listener for event `BoardImportGetAllowedEvent` to enable your importer.
> You can read more about listeners on [Nextcloud](https://docs.nextcloud.com/server/latest/developer_manual/basics/events.html?highlight=event#writing-a-listener) doc.
"The uploaded file exceeds the upload_max_filesize directive in php.ini":"O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded":"O fichero nomás s'ha cargau parzialmén",
"No file was uploaded":"No s'ha cargau garra fichero",
"Missing a temporary folder":"Falta una carpeta temporal",
"Could not write file to disk":"No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload":"Una estensión de PHP aturó a carga de fichers",
"The uploaded file exceeds the upload_max_filesize directive in php.ini":"O fichero puyato sobrexe a directiva upload_max_filesize en php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"O fichero cargau supera a directiva MAX_FILE_SIZE que s'espezificó en o formulario HTML",
"The file was only partially uploaded":"O fichero nomás s'ha cargau parzialmén",
"No file was uploaded":"No s'ha cargau garra fichero",
"Missing a temporary folder":"Falta una carpeta temporal",
"Could not write file to disk":"No se podió escribir o fichero en o disco",
"A PHP extension stopped the file upload":"Una estensión de PHP aturó a carga de fichers",
"A <strong>comment</strong> was created on a card":"Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards":"Anstehende Karten",
"Personal":"Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s.":"Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} hat Dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has been assigned to you by %s.":"Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date.":"Die Karte \"%s\" in \"%s\" ist überfällig.",
"The card {deck-card} on {deck-board} has reached its due date.":"Die Karte {deck-card} in {deck-board} ist überfällig.",
"%s has mentioned you in a comment on \"%s\".":"%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} hat Dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s.":"Das Board \"%s\" wurde von %s mit Dir geteilt.",
"{user} has shared {deck-board} with you.":"{user} hat das Board {deck-board} mit Dir geteilt.",
"%s has mentioned you in a comment on \"%s\".":"%s hat dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} hat dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s.":"Das Board \"%s\" wurde von %s mit dir geteilt.",
"{user} has shared {deck-board} with you.":"{user} hat das Board {deck-board} mit dir geteilt.",
"Card comments":"Kommentare zur Karte",
"%s on %s":"%s von %s",
"No data was provided to create an attachment.":"Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
@@ -103,9 +103,9 @@ OC.L10N.register(
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s.":"Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
"Card not found":"Karte nicht gefunden",
"Path is already shared with this card":"Pfad wurde bereits mit dieser Karte geteilt",
"Invalid date, date format must be YYYY-MM-DD":"Ungültiges Datum, zulässiges Datumsformat: JJJJJ-MM-TT",
"Invalid date, date format must be YYYY-MM-DD":"Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
"Personal planning and team project organization":"Persönliche Planung und Teamprojektorganisation",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Card details":"Karten-Details",
"Add board":"Board hinzufügen",
"Select the board to link to a project":"Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
@@ -123,10 +123,10 @@ OC.L10N.register(
"Create card":"Karte erstellen",
"Select a card":"Eine Karte auswählen",
"Select the card to link to a project":"Wähle die Karte aus, um diese mit einem Projekt zu verknüpfen",
"Link to card":"Mit einer Karte verknüpfen",
"Link to card":"Mit dieser Karte verknüpfen",
"File already exists":"Datei bereits vorhanden",
"A file with the name {filename} already exists.":"Eine Datei mit diesem Namen {filename} existiert bereits.",
"Do you want to overwrite it?":"Möchtest Du überschreiben?",
"Do you want to overwrite it?":"Möchtest du überschreiben?",
"Show boards in calendar/tasks":"Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups":"Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Wenn Du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Wenn du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board details":"Board-Details",
"Edit board":"Board bearbeiten",
"Clone board":"Board klonen",
@@ -274,7 +278,7 @@ OC.L10N.register(
"Only assigned cards":"Nur zugewiesene Karten",
"No reminder":"Keine Erinnerung",
"An error occurred":"Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board.":"Möchtest Du wirklich das Board {title} mit all seinen Daten löschen?",
"Are you sure you want to delete the board {title}? This will delete all the data of this board.":"Möchtest du wirklich das Board {title} mit all seinen Daten löschen?",
"Share with a Deck card":"Mit einer Deck-Karte teilen",
"Share {file} with a Deck card":"{file} mit einer Deck-Karte teilen",
"Share":"Freigeben",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Are you sure you want to transfer the board {title} for {user} ?":"Möchtest Du wirklich das Board {title} an {user} übertragen?",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Are you sure you want to transfer the board {title} for {user} ?":"Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully":"Das Board wurde erfolgreich an {user} übertragen",
"Failed to transfer the board for {user}":"Board konnte nicht an {user} übertragen werden",
"This week":"Diese Woche",
"Are you sure you want to transfer the board {title} for {user}?":"Möchtest Du wirklich das Board {title} an {user} übertragen?"
"Are you sure you want to transfer the board {title} for {user}?":"Möchtest du wirklich das Board {title} an {user} übertragen?"
"A <strong>comment</strong> was created on a card":"Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
"Upcoming cards":"Anstehende Karten",
"Personal":"Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s.":"Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} hat Dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has been assigned to you by %s.":"Die Karte \"%s\" auf \"%s\" wurde dir von %s zugewiesen.",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} hat dir die Karte {deck-card} auf {deck-board} zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date.":"Die Karte \"%s\" in \"%s\" ist überfällig.",
"The card {deck-card} on {deck-board} has reached its due date.":"Die Karte {deck-card} in {deck-board} ist überfällig.",
"%s has mentioned you in a comment on \"%s\".":"%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} hat Dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s.":"Das Board \"%s\" wurde von %s mit Dir geteilt.",
"{user} has shared {deck-board} with you.":"{user} hat das Board {deck-board} mit Dir geteilt.",
"%s has mentioned you in a comment on \"%s\".":"%s hat dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} hat dich in einem Kommentar zu {deck-card} erwähnt.",
"The board \"%s\" has been shared with you by %s.":"Das Board \"%s\" wurde von %s mit dir geteilt.",
"{user} has shared {deck-board} with you.":"{user} hat das Board {deck-board} mit dir geteilt.",
"Card comments":"Kommentare zur Karte",
"%s on %s":"%s von %s",
"No data was provided to create an attachment.":"Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
@@ -101,9 +101,9 @@
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s.":"Dieser Kommentar hat mehr als %s Zeichen.\nAls Anhang der Karte mit dem Namen %s hinzugefügt.\nZugriff über die URL: %s.",
"Card not found":"Karte nicht gefunden",
"Path is already shared with this card":"Pfad wurde bereits mit dieser Karte geteilt",
"Invalid date, date format must be YYYY-MM-DD":"Ungültiges Datum, zulässiges Datumsformat: JJJJJ-MM-TT",
"Invalid date, date format must be YYYY-MM-DD":"Ungültiges Datum, zulässiges Datumsformat: JJJJ-MM-TT",
"Personal planning and team project organization":"Persönliche Planung und Teamprojektorganisation",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Card details":"Karten-Details",
"Add board":"Board hinzufügen",
"Select the board to link to a project":"Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
@@ -121,10 +121,10 @@
"Create card":"Karte erstellen",
"Select a card":"Eine Karte auswählen",
"Select the card to link to a project":"Wähle die Karte aus, um diese mit einem Projekt zu verknüpfen",
"Link to card":"Mit einer Karte verknüpfen",
"Link to card":"Mit dieser Karte verknüpfen",
"File already exists":"Datei bereits vorhanden",
"A file with the name {filename} already exists.":"Eine Datei mit diesem Namen {filename} existiert bereits.",
"Do you want to overwrite it?":"Möchtest Du überschreiben?",
"Do you want to overwrite it?":"Möchtest du überschreiben?",
"Show boards in calendar/tasks":"Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups":"Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Wenn Du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Wenn du Deck einschränkst, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
"Board details":"Board-Details",
"Edit board":"Board bearbeiten",
"Clone board":"Board klonen",
@@ -272,7 +276,7 @@
"Only assigned cards":"Nur zugewiesene Karten",
"No reminder":"Keine Erinnerung",
"An error occurred":"Es ist ein Fehler aufgetreten",
"Are you sure you want to delete the board {title}? This will delete all the data of this board.":"Möchtest Du wirklich das Board {title} mit all seinen Daten löschen?",
"Are you sure you want to delete the board {title}? This will delete all the data of this board.":"Möchtest du wirklich das Board {title} mit all seinen Daten löschen?",
"Share with a Deck card":"Mit einer Deck-Karte teilen",
"Share {file} with a Deck card":"{file} mit einer Deck-Karte teilen",
"Share":"Freigeben",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
"Are you sure you want to transfer the board {title} for {user} ?":"Möchtest Du wirklich das Board {title} an {user} übertragen?",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit deinem Team mit Kommentaren\n- ⚡ Behalte den Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere dein Projekt",
"Are you sure you want to transfer the board {title} for {user} ?":"Möchtest du wirklich das Board {title} an {user} übertragen?",
"Transfer the board for {user} successfully":"Das Board wurde erfolgreich an {user} übertragen",
"Failed to transfer the board for {user}":"Board konnte nicht an {user} übertragen werden",
"This week":"Diese Woche",
"Are you sure you want to transfer the board {title} for {user}?":"Möchtest Du wirklich das Board {title} an {user} übertragen?"
"Are you sure you want to transfer the board {title} for {user}?":"Möchtest du wirklich das Board {title} an {user} übertragen?"
"You have created a new board {board}":"Has creado el tablero nuevo {board}",
"{user} has created a new board {board}":"{user} ha creado el tablero nuevo {board}",
"You have deleted the board {board}":"Has eliminado el tablero {board}",
"{user} has deleted the board {board}":"{user} ha eliminado el tablero {board}",
"You have restored the board {board}":"Has restaurado el tablero {board}",
"{user} has restored the board {board}":"{user} ha restaurado el tablero {board}",
"You have shared the board {board} with {acl}":"Has compartido el tablero {board} con {acl}",
"{user} has shared the board {board} with {acl}":"{user} ha compartido el tablero {board} con {acl}",
"You have removed {acl} from the board {board}":"Has eliminado a {acl} del tablero {board}",
"{user} has removed {acl} from the board {board}":"{user} ha elimiando a {acl} del tablero {board}",
"You have renamed the board {before} to {board}":"Has renombrado el tablero {before} como {board}",
"{user} has renamed the board {before} to {board}":"{user} ha renombrado el tablero {before} como {board}",
"You have archived the board {board}":"Has archivado el tablero {board}",
"{user} has archived the board {before}":"{user} ha archivado el tablero {board}",
"You have unarchived the board {board}":"Has desarchivado el tablero {board}",
"{user} has unarchived the board {before}":"{user} ha desarchivado el tablero {before}",
"You have created a new list {stack} on board {board}":"Has creado una nueva lista {stack} del tablero {board}",
"{user} has created a new list {stack} on board {board}":"{user} ha creado una nueva lista {stack} del tablero {board}",
"You have renamed list {before} to {stack} on board {board}":"Has renombrado la lista {before} a {stack} del tablero {board}",
"{user} has renamed list {before} to {stack} on board {board}":"{user} ha renombrado la lista {before} a {stack} del tablero {board}",
"A <strong>card description</strong> inside the Deck app has been changed":"Una <strong>descripción de tarjeta</strong> dentro de la app Deck ha cambiado",
"Deck":"Deck",
"Changes in the <strong>Deck app</strong>":"Cambios en la <strong>app Deck</strong>",
"Personal":"Personal",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} te ha asigando la tarjeta {deck-card} de {deck-board} a ti.",
"The card {deck-card} on {deck-board} has reached its due date.":"La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de caducidad.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} te ha mencionado en un comentario de {deck-card}.",
"{user} has shared {deck-board} with you.":"{user} ha compartido {deck-board} contigo.",
"Finished":"Terminado",
"To review":"Para revisar",
"Action needed":"Acción requerida",
@@ -12,10 +38,27 @@ OC.L10N.register(
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"El archivo subido sobrepasa el valor MAX_FILE_SIZE especificada en el formulario HTML",
"No file was uploaded":"No se subió ningún archivo ",
"Missing a temporary folder":"Falta un directorio temporal",
"Card not found":"Tarjeta no encontrada",
"Invalid date, date format must be YYYY-MM-DD":"La fecha es inválida, favor de seguir el formato AAAA-MM-DD",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
"Card details":"Detalles de la tarjeta",
"Add board":"Nuevo Tablero",
"Search by board title":"Buscar por título de tablero",
"Select board":"Selecciona tablero",
"Create a new card":"Crear una nueva tarjeta",
"Select a board":"Selecciona un tablero",
"Select a list":"Seleccionar una lista",
"Card title":"Título de la tarjeta",
"Cancel":"Cancelar",
"Creating the new card …":"Creando una nueva tarjeta …",
"Card \"{card}\" was added to \"{board}\"":"La tarjeta \"{card}\" fue añadida a \"{board}\"",
"Limit deck usage of groups":"Limitar el uso del Tablero a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Limitar Tableros impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
"Board details":"Detalles del tablero",
"Edit board":"Editar Tablero",
"Clone board":"Clonar Tablero",
"No notifications":"No hay notificaciones",
"Delete board":"Eliminar Tablero",
"An error occurred":"Ocurrió un error",
"No due":"Sin finalizar",
"Share with a Deck card":"Compartir con una tarjeta del Tablero",
"Share {file} with a Deck card":"Compartir {file} con una tarjeta del Tablero",
"Share":"Compartir",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
"This week":"Esta semana"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
"You have created a new board {board}":"Has creado el tablero nuevo {board}",
"{user} has created a new board {board}":"{user} ha creado el tablero nuevo {board}",
"You have deleted the board {board}":"Has eliminado el tablero {board}",
"{user} has deleted the board {board}":"{user} ha eliminado el tablero {board}",
"You have restored the board {board}":"Has restaurado el tablero {board}",
"{user} has restored the board {board}":"{user} ha restaurado el tablero {board}",
"You have shared the board {board} with {acl}":"Has compartido el tablero {board} con {acl}",
"{user} has shared the board {board} with {acl}":"{user} ha compartido el tablero {board} con {acl}",
"You have removed {acl} from the board {board}":"Has eliminado a {acl} del tablero {board}",
"{user} has removed {acl} from the board {board}":"{user} ha elimiando a {acl} del tablero {board}",
"You have renamed the board {before} to {board}":"Has renombrado el tablero {before} como {board}",
"{user} has renamed the board {before} to {board}":"{user} ha renombrado el tablero {before} como {board}",
"You have archived the board {board}":"Has archivado el tablero {board}",
"{user} has archived the board {before}":"{user} ha archivado el tablero {board}",
"You have unarchived the board {board}":"Has desarchivado el tablero {board}",
"{user} has unarchived the board {before}":"{user} ha desarchivado el tablero {before}",
"You have created a new list {stack} on board {board}":"Has creado una nueva lista {stack} del tablero {board}",
"{user} has created a new list {stack} on board {board}":"{user} ha creado una nueva lista {stack} del tablero {board}",
"You have renamed list {before} to {stack} on board {board}":"Has renombrado la lista {before} a {stack} del tablero {board}",
"{user} has renamed list {before} to {stack} on board {board}":"{user} ha renombrado la lista {before} a {stack} del tablero {board}",
"A <strong>card description</strong> inside the Deck app has been changed":"Una <strong>descripción de tarjeta</strong> dentro de la app Deck ha cambiado",
"Deck":"Deck",
"Changes in the <strong>Deck app</strong>":"Cambios en la <strong>app Deck</strong>",
"Personal":"Personal",
"{user} has assigned the card {deck-card} on {deck-board} to you.":"{user} te ha asigando la tarjeta {deck-card} de {deck-board} a ti.",
"The card {deck-card} on {deck-board} has reached its due date.":"La tarjeta {deck-card} en {deck-board} ha alcanzado su fecha de caducidad.",
"{user} has mentioned you in a comment on {deck-card}.":"{user} te ha mencionado en un comentario de {deck-card}.",
"{user} has shared {deck-board} with you.":"{user} ha compartido {deck-board} contigo.",
"Finished":"Terminado",
"To review":"Para revisar",
"Action needed":"Acción requerida",
@@ -10,10 +36,27 @@
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"El archivo subido sobrepasa el valor MAX_FILE_SIZE especificada en el formulario HTML",
"No file was uploaded":"No se subió ningún archivo ",
"Missing a temporary folder":"Falta un directorio temporal",
"Card not found":"Tarjeta no encontrada",
"Invalid date, date format must be YYYY-MM-DD":"La fecha es inválida, favor de seguir el formato AAAA-MM-DD",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
"Card details":"Detalles de la tarjeta",
"Add board":"Nuevo Tablero",
"Search by board title":"Buscar por título de tablero",
"Select board":"Selecciona tablero",
"Create a new card":"Crear una nueva tarjeta",
"Select a board":"Selecciona un tablero",
"Select a list":"Seleccionar una lista",
"Card title":"Título de la tarjeta",
"Cancel":"Cancelar",
"Creating the new card …":"Creando una nueva tarjeta …",
"Card \"{card}\" was added to \"{board}\"":"La tarjeta \"{card}\" fue añadida a \"{board}\"",
"Limit deck usage of groups":"Limitar el uso del Tablero a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.":"Limitar Tableros impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
"Board details":"Detalles del tablero",
"Edit board":"Editar Tablero",
"Clone board":"Clonar Tablero",
"No notifications":"No hay notificaciones",
"Delete board":"Eliminar Tablero",
"An error occurred":"Ocurrió un error",
"No due":"Sin finalizar",
"Share with a Deck card":"Compartir con una tarjeta del Tablero",
"Share {file} with a Deck card":"Compartir {file} con una tarjeta del Tablero",
"Share":"Compartir",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized":"Deck es una herramienta de organización de estilo kanban dirigida a la planificación personal y la organización de proyectos para equipos integrados con Nextcloud.\n\n\n- 📥 Agrega tus tareas a las tarjetas y ordénalas.\n- 📄 Escriba notas adicionales\n- 🔖 Asignar etiquetas para una organización mejor\n- 👥 Comparte con tu equipo, amigos o familia.\n- 📎 Adjuntar archivos e incrustarlos en su descripción\n- 💬 Discuta con su equipo usando comentarios.\n- ⚡ Mantenga un registro de los cambios en el flujo de actividad\n- 🚀 Organiza tu proyecto",
"This week":"Esta semana"
},"pluralForm":"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
"The uploaded file exceeds the upload_max_filesize directive in php.ini":"Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis",
"The file was only partially uploaded":"Fail laaditi üles ainult osaliselt",
"No file was uploaded":"Ühtegi faili ei latud üles",
"Missing a temporary folder":"Ajutine kausta on puudu",
"Could not write file to disk":"Faili kirjutamine kettale ebaõnnestus",
"Invalid date, date format must be YYYY-MM-DD":"Vigane kuupäev, formaat peab olema YYYY-MM-DD",
"The uploaded file exceeds the upload_max_filesize directive in php.ini":"Üleslaetud fail on suurem, kui php.ini failis määratud upload_max_filesize",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form":"Üleslaetud fail on suurem, kui MAX_FILE_SIZE atribuut, mis seadistati HTML vormis",
"The file was only partially uploaded":"Fail laaditi üles ainult osaliselt",
"No file was uploaded":"Ühtegi faili ei latud üles",
"Missing a temporary folder":"Ajutine kausta on puudu",
"Could not write file to disk":"Faili kirjutamine kettale ebaõnnestus",
"Invalid date, date format must be YYYY-MM-DD":"Vigane kuupäev, formaat peab olema YYYY-MM-DD",
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.