We're using FlowRouter client side router inside config/router.js. For accounts there is AccountsTemplates configured in config/accounts.js.
Files in this directory are served by meteor as-is to the client. It hosts some (fav)icons and fonts.
wekan-manifest.json: goes into link rel="manifest" in the header of the generated page and is a Web App Manifest.
activities template for the list of activities placed inside a sidebar-content; uses boardActivities or cardActivities depending on mode; XXX: does this mean that sidebar should be visible in board list mode? when does the board activity gets shown?commentForm template used in card-details-canvas for adding comments;archivedBoards template for the modal dialog showing the list of archived boards that might be restored;board and, based on screen size and current state, it uses either cardDetails or boardBody templates; boardBody is the one including the sidebar, each list, cardDetails for larger screens when a card is selected and the addListForm for adding a new list (also defined in this file);boardHeaderBar, boardMenuPopup, boardVisibilityList, boardChangeVisibilityPopup, boardChangeWatchPopup, boardChangeColorPopup, createBoard, chooseBoardSource, boardChangeTitlePopup, archiveBoardPopup, outgoingWebhooksPopup;boardList and boardListHeaderBar for the list of boards in the initial screen;cardAttachmentsPopup, previewClipboardImagePopup, previewAttachedImagePopup, attachmentDeletePopup, attachmentsGalery;editCardDate and dateBadge templates;boardsAndLists is the usual layout for a board display with boardLists being used in sandstorm where each board is independent;cardDetails, editCardTitleForm, cardDetailsActionsPopup, moveCardPopup, copyCardPopup,cardMembersPopup,cardMorePopup, cardDeletePopup;editCardSpentTime and timeBadge templates;checklists, checklistDetail, checklistDeleteDialog, addChecklistItemForm, editChecklistItemForm, checklistItems, itemDetail;formLabel, createLabelPopup, editLabelPopup, deleteLabelPopup, cardLabelsPopup;minicard templateinlinedForm template;importHeaderBar, import, importTextarea, importMapMembers, importMapMembersAddPopup are all templates used for importing Trello (via trelloMembersMapper.js) and Wekan (via wekanMembersMapper.js) boards;list is the simple, main template for lists;listBody, addCardForm, autocompleteLabelLine templates;listHeader, editListTitleForm, listActionPopup, boardLists, listMorePopup, listDeletePopup, setWipLimitPopup, wipLimitErrorPopup templates;editor and viewer templates;header and offlineWarning templates; if the user is connected we display a small "quick-access" top bar that list all starred boards with a link to go there (this is inspired by the Reddit "subreddit" bar); the first link goes to the boards page;shortcutsHeaderBar, shortcutsModalTitle, keyboardShortcuts - all for the shortcuts that are presented when you press ?re implemented inhere;userFormsLayout, defaultLayout, notFound, message;popup in this case);information, statistics templates;invitationCode template;people, peopleGeneral, peopleRow, editUserPopup;setting, general, email, accountSettings, announcementSettingssettingHeaderBar template;sidebar, homeSidebar, membersWidget, labelsWidget, memberPopup, removeMemberPopup, leaveBoardPopup, addMemberPopup, changePermissionsPopuparchivesSidebarfilterSidebar, multiselectionSidebar, disambiguateMultiLabelPopup, disambiguateMultiMemberPopup, moveSelectionPopup;userAvatar, userAvatarInitials, userPopup, memberName, changeAvatarPopup, cardMemberPopupheaderUserBar, memberMenuPopup, editProfilePopup, editNotificationPopup, changePasswordPopup, changeLanguagePopup, changeSettingsPopup;currentBoard(), currentCard(), getUser() and concat();watch and unwatch from Firefox prior to version 58;basicTabs template.CSSEventsobject has methods that select the name of the event based on the specific transitions and animations;?re implemented inhere;Mixins at this point; XXX: what does new class do? exlint: missing () invoking a constructorPopup class for things likes electing a date; XXX: not a Blaze helper?Filter Blaze helper to support filtering cards by labels and by members;Modal Blaze helper to support showing modal windows like the one for archived boards;Modal Blaze helper to support multiple selection mode;getUnsavedValue and hasUnsavedValue Blaze helpers to preserve content entered in fields but not saved;.js files in this directory are not available to the client.
Authenticationobject to Meteor that provides methods for checking access rights.Notifications object that supports Activities and holds a list of functions to call when its notify() method is called along with convenience methods to subscribe, unsubscribe and a way to filter recipients according to user settings for notification;
watch() Meteor server-only method that may watch boards, lists or cards using models/watchable.js;outgoingWebhooks() Meteor server-only method that can call external API XXX: I guessThe files in models directory mainly define collections; most of them have aldeed SimpleSchema for automatic validation of insert and update of collections. This is also where helpers, mutations, methods, hooks and bootstrap code is to be found. Server side code also implements json REST API.
Collections (mostly Mongo.Collection except as noted) are defined in:
Meteor.users collection.Other files:
Boards, Lists and Cards.importBoard() method so that Trello (in trelloCreator.js) and Wekan (in wekanCreator.js) boards can be imported. XXX: Solid candidates for a directory of their own.cfs_access-point.txt from this folder is copied to bundle/programs/server/packages/cfs_access-point.js in Docker build and in snapcraft build; this is a monkey patch fix for downloading files that have unicode in filename.This documentation was contributed by TNick and xet7 while Wekan was at commit e2f768c. Please add new files, fixes, updates, etc directly to this page.