mirror of
https://github.com/wekan/wekan.git
synced 2026-11-05 15:45:01 -05:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2415aa3d2b | ||
|
|
1af1844f37 | ||
|
|
75bb247c2b | ||
|
|
5a1b517733 | ||
|
|
0fbc8754f7 | ||
|
|
aaca60b676 | ||
|
|
a929d1e3a4 | ||
|
|
4a7fa7c396 | ||
|
|
45674806d7 | ||
|
|
8905bc7dfe | ||
|
|
dd6aec1ba9 | ||
|
|
aca5fa4d0a | ||
|
|
0d1f45b8a2 | ||
|
|
3f9ae57144 | ||
|
|
45c2f1007b | ||
|
|
83adaa3074 | ||
|
|
1951b279c0 | ||
|
|
50406ad683 | ||
|
|
95740eaa01 | ||
|
|
08f2c1c735 | ||
|
|
32459ec405 | ||
|
|
c7ac0cbce1 | ||
|
|
711fb5754e | ||
|
|
24fffd8bfa | ||
|
|
52556aff68 | ||
|
|
c76959ff25 | ||
|
|
a141871e60 | ||
|
|
5e639a7c2d |
No files matched your search
@@ -8,8 +8,8 @@ LABEL org.opencontainers.image.source="https://github.com/wekan/wekan"
|
||||
# - gyp does not yet work with Ubuntu 22.04 ubuntu:rolling,
|
||||
# so changing to 21.10. https://github.com/wekan/wekan/issues/4488
|
||||
|
||||
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools git"
|
||||
ENV DEV_DEPS="curl python3 ca-certificates build-essential"
|
||||
ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools"
|
||||
ENV DEV_DEPS="curl python3 ca-certificates build-essential git"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV \
|
||||
|
||||
@@ -15,6 +15,41 @@ Fixing other platforms In Progress.
|
||||
|
||||
[How to upgrade WeKan](https://github.com/wekan/wekan/issues/4585)
|
||||
|
||||
# v7.53 2024-08-03 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added Dragscroll to scroll the board](https://github.com/wekan/wekan/pull/5477).
|
||||
Click on an empty space in the board, hold the left mouse and move left and right
|
||||
to scroll the board easily.
|
||||
Thanks to mfilser.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Updated release script: New install webpage location](https://github.com/wekan/wekan/commit/5e639a7c2d6dc1182ba95e44875ac8a6798a62be).
|
||||
Thanks to xet7.
|
||||
- [Updated dependencies](https://github.com/wekan/wekan/commit/3f9ae57144dc9befd674c784896d68b5db9df146).
|
||||
Thanks to developers of dependencies.
|
||||
- [Copied changes from wiki to docs](https://github.com/wekan/wekan/commit/aaca60b6760cc84b56a24fc15c93f23b4a34f06e).
|
||||
Thanks to xet7.
|
||||
- [Updated Snap Candidate to MongoDB 6.0.16](https://github.com/wekan/wekan/commit/1af1844f37d17f9f54ca358ccf0f44eed1dfbef4).
|
||||
Thanks to MongoDB developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Board Menu Popup's were opened twice because of 2 same event creation](https://github.com/wekan/wekan/pull/5478).
|
||||
Thanks to mfilser.
|
||||
- [Fixing of "mode is undefined" on first activity component creation](https://github.com/wekan/wekan/pull/5479).
|
||||
Thanks to mfilser.
|
||||
- [Changing card color now closes the popup and doesn't refresh the whole board page](https://github.com/wekan/wekan/pull/5480).
|
||||
Thanks to mfilser.
|
||||
- [Fix dragscroll package name](https://github.com/wekan/wekan/commit/45674806d78fddb8a3b8a75890e5059cc1a680ea).
|
||||
Thanks to xet7.
|
||||
- [Reducing card size in database if no planning poker was started](https://github.com/wekan/wekan/pull/5481).
|
||||
Thanks to mfilser.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v7.52 2024-08-03 WeKan ® release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v7.52.0"
|
||||
appVersion: "v7.53.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -13,39 +13,41 @@ BlazeComponent.extendComponent({
|
||||
const sidebar = Sidebar;
|
||||
sidebar && sidebar.callFirstWith(null, 'resetNextPeak');
|
||||
this.autorun(() => {
|
||||
let mode = this.data().mode;
|
||||
const capitalizedMode = Utils.capitalize(mode);
|
||||
let searchId;
|
||||
if (mode === 'linkedcard' || mode === 'linkedboard') {
|
||||
searchId = Utils.getCurrentCard().linkedId;
|
||||
mode = mode.replace('linked', '');
|
||||
} else if (mode === 'card') {
|
||||
searchId = Utils.getCurrentCardId();
|
||||
} else {
|
||||
searchId = Session.get(`current${capitalizedMode}`);
|
||||
}
|
||||
const limit = this.page.get() * activitiesPerPage;
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const hideSystem = user ? user.hasHiddenSystemMessages() : false;
|
||||
if (searchId === null) return;
|
||||
|
||||
this.subscribe('activities', mode, searchId, limit, hideSystem, () => {
|
||||
this.loadNextPageLocked = false;
|
||||
|
||||
// TODO the guard can be removed as soon as the TODO above is resolved
|
||||
if (!sidebar) return;
|
||||
// If the sibear peak hasn't increased, that mean that there are no more
|
||||
// activities, and we can stop calling new subscriptions.
|
||||
// XXX This is hacky! We need to know excatly and reactively how many
|
||||
// activities there are, we probably want to denormalize this number
|
||||
// dirrectly into card and board documents.
|
||||
const nextPeakBefore = sidebar.callFirstWith(null, 'getNextPeak');
|
||||
sidebar.calculateNextPeak();
|
||||
const nextPeakAfter = sidebar.callFirstWith(null, 'getNextPeak');
|
||||
if (nextPeakBefore === nextPeakAfter) {
|
||||
sidebar.callFirstWith(null, 'resetNextPeak');
|
||||
let mode = this.data()?.mode;
|
||||
if (mode) {
|
||||
const capitalizedMode = Utils.capitalize(mode);
|
||||
let searchId;
|
||||
if (mode === 'linkedcard' || mode === 'linkedboard') {
|
||||
searchId = Utils.getCurrentCard().linkedId;
|
||||
mode = mode.replace('linked', '');
|
||||
} else if (mode === 'card') {
|
||||
searchId = Utils.getCurrentCardId();
|
||||
} else {
|
||||
searchId = Session.get(`current${capitalizedMode}`);
|
||||
}
|
||||
});
|
||||
const limit = this.page.get() * activitiesPerPage;
|
||||
const user = ReactiveCache.getCurrentUser();
|
||||
const hideSystem = user ? user.hasHiddenSystemMessages() : false;
|
||||
if (searchId === null) return;
|
||||
|
||||
this.subscribe('activities', mode, searchId, limit, hideSystem, () => {
|
||||
this.loadNextPageLocked = false;
|
||||
|
||||
// TODO the guard can be removed as soon as the TODO above is resolved
|
||||
if (!sidebar) return;
|
||||
// If the sibear peak hasn't increased, that mean that there are no more
|
||||
// activities, and we can stop calling new subscriptions.
|
||||
// XXX This is hacky! We need to know excatly and reactively how many
|
||||
// activities there are, we probably want to denormalize this number
|
||||
// dirrectly into card and board documents.
|
||||
const nextPeakBefore = sidebar.callFirstWith(null, 'getNextPeak');
|
||||
sidebar.calculateNextPeak();
|
||||
const nextPeakAfter = sidebar.callFirstWith(null, 'getNextPeak');
|
||||
if (nextPeakBefore === nextPeakAfter) {
|
||||
sidebar.callFirstWith(null, 'resetNextPeak');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
loadNextPage() {
|
||||
|
||||
@@ -18,7 +18,7 @@ template(name="boardBody")
|
||||
else
|
||||
.board-wrapper(class=currentBoard.colorClass)
|
||||
+sidebar
|
||||
.board-canvas.js-swimlanes(
|
||||
.board-canvas.js-swimlanes.dragscroll(
|
||||
class="{{#if Sidebar.isOpen}}is-sibling-sidebar-open{{/if}}"
|
||||
class="{{#if MultiSelection.isActive}}is-multiselection-active{{/if}}"
|
||||
class="{{#if draggingActive.get}}is-dragging-active{{/if}}")
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { ReactiveCache } from '/imports/reactiveCache';
|
||||
import { TAPi18n } from '/imports/i18n';
|
||||
import dragscroll from '@wekanteam/dragscroll';
|
||||
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndex } = Utils;
|
||||
@@ -219,6 +220,7 @@ BlazeComponent.extendComponent({
|
||||
boardComponent.openNewListForm();
|
||||
}
|
||||
|
||||
dragscroll.reset();
|
||||
Utils.setBackgroundImage();
|
||||
},
|
||||
|
||||
|
||||
@@ -6,37 +6,6 @@ const DOWNCLS = 'fa-sort-down';
|
||||
const UPCLS = 'fa-sort-up';
|
||||
*/
|
||||
const sortCardsBy = new ReactiveVar('');
|
||||
Template.boardMenuPopup.events({
|
||||
'click .js-rename-board': Popup.open('boardChangeTitle'),
|
||||
'click .js-custom-fields'() {
|
||||
Sidebar.setView('customFields');
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-open-archives'() {
|
||||
Sidebar.setView('archives');
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-change-board-color': Popup.open('boardChangeColor'),
|
||||
'click .js-change-language': Popup.open('changeLanguage'),
|
||||
'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() {
|
||||
const currentBoard = Utils.getCurrentBoard();
|
||||
currentBoard.archive();
|
||||
// XXX We should have some kind of notification on top of the page to
|
||||
// confirm that the board was successfully archived.
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
|
||||
const currentBoard = Utils.getCurrentBoard();
|
||||
Popup.back();
|
||||
Boards.remove(currentBoard._id);
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
'click .js-subtask-settings': Popup.open('boardSubtaskSettings'),
|
||||
'click .js-card-settings': Popup.open('boardCardSettings'),
|
||||
'click .js-minicard-settings': Popup.open('boardMinicardSettings'),
|
||||
});
|
||||
|
||||
Template.boardChangeTitlePopup.events({
|
||||
submit(event, templateInstance) {
|
||||
|
||||
@@ -5,7 +5,7 @@ template(name="cardDetails")
|
||||
|
||||
+attachmentViewer
|
||||
|
||||
section.card-details.js-card-details(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas
|
||||
section.card-details.js-card-details.nodragscroll(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas
|
||||
.card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}')
|
||||
+inlinedForm(classNames="js-card-details-title")
|
||||
+editCardTitleForm
|
||||
|
||||
@@ -846,13 +846,15 @@ BlazeComponent.extendComponent({
|
||||
'click .js-palette-color'() {
|
||||
this.currentColor.set(this.currentData().color);
|
||||
},
|
||||
'click .js-submit'() {
|
||||
'click .js-submit'(event) {
|
||||
event.preventDefault();
|
||||
this.currentCard.setColor(this.currentColor.get());
|
||||
Popup.close();
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-remove-color'() {
|
||||
'click .js-remove-color'(event) {
|
||||
event.preventDefault();
|
||||
this.currentCard.setColor(null);
|
||||
Popup.close();
|
||||
Popup.back();
|
||||
},
|
||||
},
|
||||
];
|
||||
|
||||
@@ -22,7 +22,7 @@ template(name="checklists")
|
||||
i.fa.fa-plus
|
||||
|
||||
template(name="checklistDetail")
|
||||
.js-checklist.checklist
|
||||
.js-checklist.checklist.nodragscroll
|
||||
+inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
|
||||
+editChecklistItemForm(checklist = checklist)
|
||||
else
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="minicard")
|
||||
.minicard(
|
||||
.minicard.nodragscroll(
|
||||
class="{{#if isLinkedCard}}linked-card{{/if}}"
|
||||
class="{{#if isLinkedBoard}}linked-board{{/if}}"
|
||||
class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="listHeader")
|
||||
.list-header.js-list-header(
|
||||
.list-header.js-list-header.nodragscroll(
|
||||
class="{{#if limitToShowCardsCount}}list-header-card-count{{/if}}"
|
||||
class=colorClass)
|
||||
+inlinedForm
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="swimlane")
|
||||
.swimlane
|
||||
.swimlane.nodragscroll
|
||||
+swimlaneHeader
|
||||
unless collapseSwimlane
|
||||
.swimlane.js-lists.js-swimlane(id="swimlane-{{_id}}"
|
||||
|
||||
@@ -1,18 +1,71 @@
|
||||
## Upgrading Meteor
|
||||
## Videos about upgrading to Meteor 3
|
||||
|
||||
- Disclaimer:
|
||||
- These are opinions about upgrading, from xet7, maintainer of WeKan Open Source kanban https://wekan.github.io
|
||||
- xet7 thinks, that it is good to keep using current frontend and backend frameworks, upgrade them when possible. If there is any problems, ask at https://forums.meteor.com
|
||||
- xet7 thinks, that upgrading to newest Meteor 2 and Meteor 3 is being made more easier all the time, when new dependencies become available, any bugs are fixed, etc. So it is good to make all possible upgrading steps available.
|
||||
- Upgrade to newest 2.14 https://guide.meteor.com/2.14-migration . Currently xet7 is using newest 2.14.1-beta.0 in production release of WeKan https://forums.meteor.com/t/meteor-v2-14-1-beta-0-is-out/61142
|
||||
- Prepare for 3.0 https://guide.meteor.com/3.0-migration
|
||||
- Migrate Async
|
||||
- Helper tool https://forums.meteor.com/t/blaze-async-migration-helper-babel-plugin-tracker-async-enhance-for-the-client-side-released/60842
|
||||
- https://guide.meteor.com/prepare-meteor-3.0
|
||||
- Look at progress of migrated packages https://forums.meteor.com/t/looking-for-help-migrating-packages-to-meteor-3-0/60985
|
||||
- Storyteller
|
||||
- 2024-07-15: WeKan Upgrades https://www.youtube.com/watch?v=Zjb3m9JsAD0
|
||||
- 2024-07-08: Upgrading Meteor examples https://www.youtube.com/watch?v=jzWXxOe93t4
|
||||
- Upcoming and past: https://www.youtube.com/@storytellercz/streams
|
||||
- React.js
|
||||
- WeKan uses Blaze and Jade, not React.
|
||||
- 2024-08-02:
|
||||
- https://www.youtube.com/watch?v=NnT7AbVMnj4
|
||||
- https://thenewstack.io/after-a-decade-of-react-is-frontend-a-post-react-world-now/
|
||||
- https://thenewstack.io/pivoting-from-react-to-native-dom-apis-a-real-world-example/
|
||||
- https://thenewstack.io/how-web-components-are-used-at-github-and-salesforce/
|
||||
- https://devclass.com/2024/07/22/react-community-splitting-into-full-stack-and-client-only-camps-suggests-survey/
|
||||
- https://news.ycombinator.com/item?id=41068685
|
||||
- 2024-07-10: Storyteller at React Wroclaw Meetup, talking about Meteor.js and React: https://www.youtube.com/watch?v=4dnM6bXZCz4&t=741s
|
||||
- How A Small Team of Developers Created React at Facebook | React.js: The Documentary https://www.youtube.com/watch?v=8pDqJVdNa44
|
||||
https://www.youtube.com/watch?v=8pDqJVdNa44
|
||||
- Meteor Dispatches Podcast
|
||||
- 46: 2024-07-12: Packages you need in every app https://www.youtube.com/watch?v=S2YkZfKN0DI
|
||||
- 25: 2024-02-09: WeKan Security https://www.youtube.com/watch?v=zic-h8jG6F8
|
||||
- 16: 2023-12-08: WeKan interview https://www.youtube.com/watch?v=ke-mbnZM3zE
|
||||
- Upcoming and past: https://www.youtube.com/@meteorjscommunity/streams
|
||||
- Playlists: https://www.youtube.com/@meteorjscommunity/playlists
|
||||
- Some recent also had info, how to make dependencies compatible with both Meteor 2 and Meteor 3
|
||||
- Add Eslint 3 and fix anything found
|
||||
- https://youtu.be/rFjNNNc_7-E
|
||||
- https://www.youtube.com/watch?v=rFjNNNc_7-E
|
||||
- https://github.com/quavedev/eslint-plugin
|
||||
- https://github.com/quavedev/meteor-template/pull/8
|
||||
- Watch Meteor Dispatches etc Podcasts https://www.youtube.com/@meteorjscommunity/playlists
|
||||
- Some recent also had info, how to make dependencies compatible with both Meteor 2 and Meteor 3
|
||||
|
||||
## Upgrading to Meteor 3
|
||||
|
||||
- Meteor 3 migration guide: https://v3-migration-docs.meteor.com ( older pages at https://guide.meteor.com/3.0-migration or https://guide.meteor.com/prepare-meteor-3.0 )
|
||||
- Look at progress of migrated packages https://forums.meteor.com/t/looking-for-help-migrating-packages-to-meteor-3-0/60985
|
||||
- Migrate from Fibers (works only at Meteor 2 and Node.js 14) to Async/Await (works with Meteor 3 and Node.js 20)
|
||||
- Helper tool https://forums.meteor.com/t/blaze-async-migration-helper-babel-plugin-tracker-async-enhance-for-the-client-side-released/60842
|
||||
- Info how Async/Await works, from Storyteller: https://github.com/wekan/wekan/wiki/AsyncAwait
|
||||
- Forums posts about migrating: https://forums.meteor.com
|
||||
- ( Older version upgrade to newest 2.14 https://guide.meteor.com/2.14-migration )
|
||||
|
||||
## Removing unused files
|
||||
|
||||
From Meteor Discord chat from someone:
|
||||
|
||||
> Nice tool that I found out about today. I was able to remove 58 unused files, functions, exports, types and dependencies 😄
|
||||
>
|
||||
> https://knip.dev
|
||||
|
||||
## Lint
|
||||
|
||||
From Meteor Discord chat from someone:
|
||||
|
||||
> We started using https://biomejs.dev to replace eslint and prettier on Galaxy 2, and it's been amazing. It's speedy, easy to configure, and has fewer packages to care about.
|
||||
>
|
||||
> Just sharing it here in case someone has never heard about it before
|
||||
|
||||
|
||||
## Building WeKan
|
||||
|
||||
- https://github.com/wekan/wekan/wiki/Emoji
|
||||
- Docs: https://github.com/wekan/wekan/tree/main/docs
|
||||
|
||||
## Similar technology
|
||||
|
||||
- https://en.wikipedia.org/wiki/JavaScript_engine
|
||||
- https://en.wikipedia.org/wiki/Single-page_application
|
||||
- https://en.wikipedia.org/wiki/Web_framework
|
||||
- https://en.wikipedia.org/wiki/Progressive_web_app
|
||||
- https://en.wikipedia.org/wiki/Web_2.0
|
||||
- https://en.wikipedia.org/wiki/Meteor_(web_framework)
|
||||
- https://en.wikipedia.org/wiki/Next.js
|
||||
@@ -1,5 +1,5 @@
|
||||
Some Python etc code in WeKan, that is not yet added directly to WeKan:
|
||||
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/ldap-sync/ldap-sync.py)
|
||||
- [LDAP sync script, that also correctly removes users](https://github.com/wekan/wekan/blob/main/docs/Login/ldap-sync/ldap-sync.py)
|
||||
- [Email notifications to AWS SES](https://github.com/wekan/wekan/issues/3543#issuecomment-1199897164)
|
||||
- [Prometheus Exporter](https://github.com/wekan/wekan-prometheus-exporter)
|
||||
- [Burndown Chart](Burndown-and-Velocity-Chart)
|
||||
@@ -12,4 +12,4 @@ Some Python etc code in WeKan, that is not yet added directly to WeKan:
|
||||
- [Logstash and ElasticSearch](https://github.com/wekan/wekan-logstash)
|
||||
- iCal server in [Python](https://github.com/wekan/wekan-ical-server) and [PHP](https://github.com/wekan/wekan-ical-php)
|
||||
- [Sandstorm CSV related Python code](Wekan-Sandstorm-cards-to-CSV-using-Python)
|
||||
- [Trello API test code](https://github.com/wekan/wekan/tree/main/trello)
|
||||
- [Trello API test code](https://github.com/wekan/wekan/tree/main/docs/ImportExport/trello)
|
||||
@@ -0,0 +1,12 @@
|
||||
Q: Is Multi-tenancy like ability to configure multiple ROOT_URL for same Meteor app? Or having relative URLs?
|
||||
|
||||
A: Yes
|
||||
|
||||
https://www.youtube.com/watch?v=917v1a01-Ko
|
||||
|
||||
https://github.com/Meteor-Community-Packages/meteor-partitioner
|
||||
|
||||
Related:
|
||||
|
||||
- https://www.enterpriseready.io
|
||||
- https://github.com/clinical-meteor/hipaa-audit-log
|
||||
+29
-1
@@ -1,4 +1,32 @@
|
||||
Related SAML code, not in WeKan yet: https://forums.meteor.com/t/what-are-you-working-on/59187
|
||||
Related Meteor SAML code, not in WeKan yet:
|
||||
|
||||
- New: https://forums.meteor.com/t/meteor-and-saml/61561
|
||||
- Old link: https://forums.meteor.com/t/what-are-you-working-on/59187
|
||||
|
||||
Sandstorm has SAML login, and old WeKan that will be updated someday:
|
||||
|
||||
- https://github.com/wekan/wekan/wiki/Sandstorm
|
||||
|
||||
How SAML works:
|
||||
|
||||
- https://ssoready.com/blog/engineering/a-gentle-intro-to-saml/
|
||||
- https://news.ycombinator.com/item?id=41036982
|
||||
- https://www.sheshbabu.com/posts/visual-explanation-of-saml-authentication/
|
||||
- https://news.ycombinator.com/item?id=41057814
|
||||
|
||||
Ruby on Rails OmniAuth, that has Shibboleth and SAML:
|
||||
|
||||
- https://github.com/omniauth/omniauth/wiki/List-of-Strategies
|
||||
- https://github.com/omniauth/omniauth
|
||||
|
||||
SAML at SSOReady:
|
||||
|
||||
- https://github.com/ssoready/ssoready
|
||||
- https://news.ycombinator.com/item?id=41110850
|
||||
|
||||
The SSO Wall of Shame:
|
||||
|
||||
- https://sso.tax
|
||||
|
||||
[SAML Issue](https://github.com/wekan/wekan/issues/708)
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@ This is without container (without Docker or Snap).
|
||||
|
||||
Right click and download files 1-4:
|
||||
|
||||
1. [wekan-7.49-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.49/wekan-7.49-amd64-windows.zip)
|
||||
1. [wekan-7.53-amd64-windows.zip](https://github.com/wekan/wekan/releases/download/v7.53/wekan-7.53-amd64-windows.zip)
|
||||
|
||||
2. [node.exe](https://nodejs.org/dist/latest-v14.x/win-x64/node.exe)
|
||||
|
||||
3. [mongodb-windows-x86_64-6.0.15-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.15-signed.msi)
|
||||
3. [mongodb-windows-x86_64-6.0.16-signed.msi](https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-6.0.16-signed.msi)
|
||||
|
||||
4. [start-wekan.bat](https://raw.githubusercontent.com/wekan/wekan/main/start-wekan.bat)
|
||||
|
||||
@@ -20,7 +20,7 @@ Right click and download files 1-4:
|
||||
|
||||
6. Double click `mongodb-windows-x86_64-6.0.15-signed.msi` . In installer, uncheck downloading MongoDB compass.
|
||||
|
||||
7. Unzip `wekan-7.49-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
7. Unzip `wekan-7.53-amd64-windows.zip` , inside it is directory `bundle`, to it copy other files:
|
||||
|
||||
```
|
||||
bundle (directory)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
https://arstechnica.com/security/2024/07/secure-boot-is-completely-compromised-on-200-models-from-5-big-device-makers/
|
||||
+2
-13
@@ -351,7 +351,7 @@ Cards.attachSchema(
|
||||
},
|
||||
'poker.question': {
|
||||
type: Boolean,
|
||||
defaultValue: false,
|
||||
optional: true,
|
||||
},
|
||||
'poker.one': {
|
||||
/**
|
||||
@@ -359,7 +359,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.two': {
|
||||
/**
|
||||
@@ -367,7 +366,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.three': {
|
||||
/**
|
||||
@@ -375,7 +373,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.five': {
|
||||
/**
|
||||
@@ -383,7 +380,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.eight': {
|
||||
/**
|
||||
@@ -391,7 +387,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.thirteen': {
|
||||
/**
|
||||
@@ -399,7 +394,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.twenty': {
|
||||
/**
|
||||
@@ -407,7 +401,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.forty': {
|
||||
/**
|
||||
@@ -415,7 +408,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.oneHundred': {
|
||||
/**
|
||||
@@ -423,7 +415,6 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.unsure': {
|
||||
/**
|
||||
@@ -431,16 +422,14 @@ Cards.attachSchema(
|
||||
*/
|
||||
type: [String],
|
||||
optional: true,
|
||||
defaultValue: [],
|
||||
},
|
||||
'poker.end': {
|
||||
type: Date,
|
||||
optional: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
'poker.allowNonBoardMembers': {
|
||||
type: Boolean,
|
||||
defaultValue: false,
|
||||
optional: true,
|
||||
},
|
||||
'poker.estimation': {
|
||||
/**
|
||||
|
||||
Generated
+17
-13
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.52.0",
|
||||
"version": "v7.53.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.24.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
|
||||
"integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
|
||||
"version": "7.25.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
|
||||
"integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
}
|
||||
@@ -187,6 +187,10 @@
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
|
||||
"integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
|
||||
},
|
||||
"@wekanteam/dragscroll": {
|
||||
"version": "github:wekan/dragscroll#6ea215c8cdbde9362ecba8ffb72ce9f9fde842d2",
|
||||
"from": "github:wekan/dragscroll"
|
||||
},
|
||||
"@wekanteam/exceljs": {
|
||||
"version": "github:wekan/exceljs#e0229907e7a81bc3fe6daf4e42b1fdfbecdcb7cb",
|
||||
"from": "github:wekan/exceljs",
|
||||
@@ -667,9 +671,9 @@
|
||||
}
|
||||
},
|
||||
"dompurify": {
|
||||
"version": "2.5.5",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.5.tgz",
|
||||
"integrity": "sha512-FgbqnEPiv5Vdtwt6Mxl7XSylttCC03cqP5ldNT2z+Kj0nLxPHJH4+1Cyf5Jasxhw93Rl4Oo11qRoUV72fmya2Q=="
|
||||
"version": "2.5.6",
|
||||
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.5.6.tgz",
|
||||
"integrity": "sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ=="
|
||||
},
|
||||
"domutils": {
|
||||
"version": "2.8.0",
|
||||
@@ -2438,9 +2442,9 @@
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.13.1",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
|
||||
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
|
||||
"version": "1.13.2",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
|
||||
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g=="
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
@@ -2545,9 +2549,9 @@
|
||||
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="
|
||||
},
|
||||
"qs": {
|
||||
"version": "6.12.1",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
|
||||
"integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
||||
"requires": {
|
||||
"side-channel": "^1.0.6"
|
||||
}
|
||||
|
||||
+5
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v7.52.0",
|
||||
"version": "v7.53.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"repository": {
|
||||
@@ -17,9 +17,10 @@
|
||||
"sinon": "^13.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.24.7",
|
||||
"@babel/runtime": "^7.25.0",
|
||||
"@mapbox/node-pre-gyp": "^1.0.10",
|
||||
"@rwap/jquery-ui-touch-punch": "^1.0.11",
|
||||
"@wekanteam/dragscroll": "github:wekan/dragscroll",
|
||||
"@wekanteam/exceljs": "github:wekan/exceljs",
|
||||
"@wekanteam/html-to-markdown": "^1.0.2",
|
||||
"@wekanteam/meteor-globals": "^1.1.4",
|
||||
@@ -27,7 +28,7 @@
|
||||
"ajv": "^6.12.6",
|
||||
"bcryptjs": "^2.4.3",
|
||||
"bson": "^4.5.2",
|
||||
"dompurify": "^2.5.5",
|
||||
"dompurify": "^2.5.6",
|
||||
"es6-promise": "^4.2.4",
|
||||
"escape-string-regexp": "^5.0.0",
|
||||
"fibers": "^5.0.3",
|
||||
@@ -50,7 +51,7 @@
|
||||
"page": "^1.11.6",
|
||||
"papaparse": "^5.3.1",
|
||||
"pretty-ms": "^7.0.1",
|
||||
"qs": "^6.12.1",
|
||||
"qs": "^6.13.0",
|
||||
"simpl-schema": "^3.4.6",
|
||||
"source-map-support": "^0.5.20",
|
||||
"uuid": "^8.3.2"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<meta charset="utf-8">
|
||||
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>Wekan REST API v7.52</title>
|
||||
<title>Wekan REST API v7.53</title>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -1548,7 +1548,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.52">Wekan REST API v7.52</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v7.53">Wekan REST API v7.53</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2067,7 +2067,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.52</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v7.53</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
@@ -19387,7 +19387,7 @@ UserSecurity
|
||||
<tr>
|
||||
<td>question</td>
|
||||
<td>boolean</td>
|
||||
<td>true</td>
|
||||
<td>false</td>
|
||||
<td>none</td>
|
||||
<td>none</td>
|
||||
</tr>
|
||||
@@ -19471,7 +19471,7 @@ UserSecurity
|
||||
<tr>
|
||||
<td>allowNonBoardMembers</td>
|
||||
<td>boolean</td>
|
||||
<td>true</td>
|
||||
<td>false</td>
|
||||
<td>none</td>
|
||||
<td>none</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v7.52
|
||||
version: v7.53
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
@@ -3436,9 +3436,6 @@ definitions:
|
||||
description: |
|
||||
poker estimation value
|
||||
type: number
|
||||
required:
|
||||
- question
|
||||
- allowNonBoardMembers
|
||||
CardsCustomfields:
|
||||
type: object
|
||||
ChecklistItems:
|
||||
|
||||
@@ -20,7 +20,7 @@ cd ~/repos/w/wekan.github.io
|
||||
git pull
|
||||
|
||||
# 4) Change version number in website
|
||||
sed -i "s|>v$1<\/span>|>v$2<\/span>|g" index.html
|
||||
sed -i "s|>v$1<\/span>|>v$2<\/span>|g" install/index.html
|
||||
|
||||
# 5) Change version number in API docs index page
|
||||
cd api
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 752,
|
||||
appVersion = 753,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "7.52.0~2024-08-03"),
|
||||
appMarketingVersion = (defaultText = "7.53.0~2024-08-03"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
@@ -1443,3 +1443,17 @@ Migrations.add('attachment-cardCopy-fix-boardId-etc', () => {
|
||||
});
|
||||
});
|
||||
*/
|
||||
|
||||
Migrations.add('remove-unused-planning-poker', () => {
|
||||
Cards.update(
|
||||
{
|
||||
"poker.question": false,
|
||||
},
|
||||
{
|
||||
$unset: {
|
||||
"poker": 1,
|
||||
},
|
||||
},
|
||||
noValidateMulti,
|
||||
);
|
||||
});
|
||||
+5
-5
@@ -1,5 +1,5 @@
|
||||
name: wekan
|
||||
version: '7.52'
|
||||
version: '7.53'
|
||||
base: core20
|
||||
summary: Open Source kanban
|
||||
description: |
|
||||
@@ -65,7 +65,7 @@ apps:
|
||||
|
||||
parts:
|
||||
mongodb:
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.15.tgz
|
||||
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-6.0.16.tgz
|
||||
plugin: dump
|
||||
stage-packages:
|
||||
- libssl1.1
|
||||
@@ -170,9 +170,9 @@ parts:
|
||||
# Cleanup
|
||||
mkdir .build
|
||||
cd .build
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.52/wekan-7.52-amd64.zip
|
||||
unzip wekan-7.52-amd64.zip
|
||||
rm wekan-7.52-amd64.zip
|
||||
wget https://github.com/wekan/wekan/releases/download/v7.53/wekan-7.53-amd64.zip
|
||||
unzip wekan-7.53-amd64.zip
|
||||
rm wekan-7.53-amd64.zip
|
||||
cd ..
|
||||
##cd .build/bundle
|
||||
##find . -type d -name '*-garbage*' | xargs rm -rf
|
||||
|
||||
Reference in new issue
Block a user