GithubHelp home page GithubHelp logo

nicolaspetton / projectify Goto Github PK

View Code? Open in Web Editor NEW
141.0 13.0 47.0 4.58 MB

Project management for TiddlyWiki

Home Page: https://projectify.wiki

License: MIT License

JavaScript 100.00%
tiddlywiki-plugin tiddlywiki javascript project-management

projectify's Introduction

Projectify

Projectify is a project management app for TiddlyWiki, inspired by products like Todoist and Basecamp.

TiddlyWiki is an excellent note-taking & knowledge-base app with unique features. Projectify brings project management to TiddlyWiki, extending it to let you capture thoughts, plan projects and schedule tasks.

Projectify is carefully crafted, with an intuitive interface that integrates seamlessy with the core of TiddlyWiki. Drag and drop any tiddler into a project to add it as a todo, transclude and link other tiddlers into projects or tasks.

For all changes in the latest 0.14.0 release, see ChangeLog.

Demo

A demo is available at projectify.wiki.

Download

Download a pre-configured empty wiki:

Get Projectify

Alternatively, see Installation for installation instructions in an existing wiki.

Documentation

  • If you are new to TiddlyWiki, we strongly encourage you to read the Getting started documentation.
  • The Projectify documentation is available online as well as locally when the plugin is installed.

Language packs

Projectify is currently available in English, Dutch, German, French, Spanish & Simplified Chinese.

Development setup

  • Install Node.js
  • In the root folder of the project run npm install
  • To start the TiddlyWiki server, run npm run serve. The wiki is available at http://localhost:8080.
  • To serve or build a specific language edition, refer to package.json
  • To build HTML files for all editions, run npm run build

Contributors

Many thanks to the following people who have contributed to Projectify:

projectify's People

Contributors

joebordes avatar kookma avatar nicolaspetton avatar odinjorna avatar silvyn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

projectify's Issues

[Idea] Need a waiting on others tab

I'm a heavy user of ToDoNow but I really like your nice built in calendars and drag and drop reordering.

One concept missing here seems to be a way of identifying things stalled on external input. I was thinking it could be as simple a new tab for items tagged 'WaitingFor', but it would be nice if you could easily toggle that state.

Categories with spaces showing up multiple times in ProjectListItem

When a category has a space in it, it will show up multiple times in each project when they are viewed as a list.

This is due to the category variable name being used as a filter directly in a list widget rather than formatted as a title list in $:/plugins/nico/projectify/ui/dashboard/ProjectListItem

This can be fixed by changing <<category>> to "[<category>]" ... at least for single title in category.

$:/plugins/nico/projectify/ui/dashboard/ProjectListItem:

\define lingo-base() $:/language/projectify/

<$vars category={{!!category}}>
  <li class="py-project">
    <div class="py-project-heading">
      <div class="py-project-title">
	{{||$:/plugins/nico/projectify/images/pie}} <$link to={{!!title}}><$view field="title"/></$link>
      </div>
      <$list filter="[<category>]" variable="ignore">
	<div class="py-project-category">
	  <$tiddler tiddler=<<category>>>
	    {{||$:/plugins/nico/projectify/ui/category/Category}}
	  </$tiddler>
	</div>
      </$list>
    </div>
    <div class="py-project-infos">
      <$count filter=<<py-open-todos>>/> <<lingo OpenTasks>>
    </div>
  </li>
</$vars>

Dedicated shadow tiddler for titles

Hi, I really like projectify so far! I was thinking about using it with streams, however streams auto-generates titles. It's not a big deal to override projectify's shadow tiddlers, but it's a small change in two relatively large files and the change is likely to collide with future updates.

For example, this is how I changed my $:/plugins/nico/projectify/ui/todo/TodoItem

\define drag-handle()
  <$draggable
    tag="span"
    class="py-drag-handle"
    tiddler={{!!title}}>
      {{$:/plugins/nico/projectify/images/drag-handle}}
  </$draggable>
\end

\define save-actions()
  <$action-sendmessage $message="tm-auto-save-wiki"/>
\end

<div class={{{ [all[current]tag[done]then[py-todo py-completed]else[py-todo]] }}}>
  <$list filter="[<dragHandle>!is[blank]]" variable="ignore">
    <<drag-handle>>
  </$list>
  
  <$checkbox tag="done" actions=<<save-actions>>>
    {{||$:/plugins/nico/projectify/ui/buttons/Checkbox}}
    <$reveal type="nomatch" state="!!priority" text="">
      {{||$:/plugins/nico/projectify/ui/buttons/TodoPriority}}
    </$reveal>
    <$link to={{!!title}}>
    <$reveal type="match" state="!!stream-type" text="">
        <$view field="title"/>
    </$reveal>
    <$reveal type="nomatch" state="!!stream-type" text="">
        <$view field="text"/>
    </$reveal>
    </$link>
    <$list filter=<<py-has-todos>> variable="ignore">
      {{||$:/plugins/nico/projectify/images/pie}}
    </$list>
  </$checkbox>
  
  {{||$:/plugins/nico/projectify/ui/todo/TodoActions}}
</div>

Thus it would be nice to have a template tiddler for the tilte only to ease integration with other tools.

Some GTD Feature lacking

Hello I'm a big fun of GTD and TW5
so when I'm searching some tools to implement GTD I found this plugin
http://gsd5.tiddlyspot.com/

the sad thing about it that is not updated for more then 5 years and it had some issues specially when renaming projects

and recently found your plugin which is active

so I thought why not to suggest if you could import some or all features from this dormant plugin from review tab in the sidebar

*A special icon for Dashboard, New Actions and New Project next home button
*Action Dashboard
*Project Dashboard
*Delegated Actions (per contact)
*References ---which are absent in this plugin--
*Contacts
*Contexts
*Tickler Dashboard

cause the review process is an important part of GTD
and also the Collect tab
and references to any project

For actions or Todo items as you are naming them
adding support to specify their status waiting future or next actions
and associated contact
and their dependencies with other tasks

Hide quick capture title ? (enhancement)

Hi Nicolas,

I could see the somewhat barbaric title being masked regarding the quick capture tiddler with this CSS example :

[data-tiddler-title^="$:/plugins/nico/projectify/QuickCapture"] .tc-title {
    display: none;
}


[data-tiddler-title^="$:/plugins/nico/projectify/QuickCapture"] .tc-subtitle {
    display: none;
}

I see by testing that it retains the icon, which is pretty cool.

Capture d’écran 2021-01-20 à 22 22 43

Add `aria-label` attribute to graphical buttons

Hey,

I'm a blind TiddlyWiki user trying to use this plugin in a few projects. TiddlyWiki is by and large accessible, and by extension so is Projectify, but there are some buttons that are essentially just span tags with no associated text, rather than button elements with their associated a11y benefits.

Ideally these could all be <button/> but if they can't be, could you please add aria-label="..." or alt text to these images buttons? I'm poking around in the source to try doing it myself, but there's a bit of a chicken and egg in that I can't figure out what some of these do just from context, or from clicking on them in the demo.

Thanks.

Issue with horizontal spacing of toogle todo button

Hello Nicolas,

The "toogle todo" button in tiddler toolbar has different horizontal spacing than other toolbar buttons.

This additional spacing is generated by some carriage return in $:/plugins/nico/projectify/ui/buttons/ToggleTodo

I propose the following modification of its content to fix it.
(Other solution may exist using the "\whitespace" pragma but I did not manage to get expected result.)

\define save-actions()
  <$action-sendmessage $message="tm-auto-save-wiki"/>
\end

<$list filter=<<py-is-todo>>><span class="py-toggle-todo-button">
<$checkbox tag="done" actions=<<save-actions>>> {{||$:/plugins/nico/projectify/ui/buttons/Checkbox}}</$checkbox></span>
</$list>

Best regards,

Eskha

I can help you, to make your project easier to handle.

Hi Nicolas,
I do like your project.

Your directory structure is almost there, to make it easy to maintain AND fit the TW rules. I can help you if you want.

I'm maintaining https://github.com/wikilabs, which uses a different approach, but that doesn't really matter.

In https://github.com/wikilabs/editions/tree/master/wikilabs-ghub.io-server you can see a bin directory and a https://github.com/wikilabs/editions/blob/master/wikilabs-ghub.io-server/package.json which contains a command to "build" or "stage" ALL editions with 1 command.

After staging, I do some manual tests and deploy all editions, themes, libraries and languages with 1 simple git push.

A similar approach may work for you.


TW plugins do have a namespace like: $:/plugins/<author>/<plugin-name> .. Your directory structure doesn't reflect this.

It would need to be: plugins/<author>/projectify .. your language plugins would need to be moved to a structure similar to: languages/de-DE-<plugin-name>. The editions are OK.

What do you think?

Missing caption in ToggleTodo toolbar button

From #16 by @danraymond


Could you please add "{{$:/plugins/nico/projectify/images/checkbox}} Projectify Check Box Toggle" or similar as a caption in the "$:/plugins/nico/projectify/ui/buttons/ToggleTodo" tiddler so its recognisable in the Control Panel's View Toolbar settings, otherwise its just a blank hyphen.

Thanks

Originally posted by @danraymond in #16

Default category colors + notebook dark palette

Hey Nico!

Just a heads-up, the default category colors look a bit strange with the notebook dark palette.

For example:

image

Not clear there is an easy fix for this on your end, I know I can just easily change it on mine. Just thought I'd report it just in case.

[Idea] Preview feature

Hi,
Love projectify!! Saves my day every day.
Can we have a preview feature? as in when i hover over the project in dashboard it's shows a popup with tasks in it, instead of clicking it? Or is this already there (mightve missed it)

Going through the internet, I found this plugin : [https://tobibeer.github.io/tw5-plugins/#preview](preview plugin), but couldnt get to work with projectify. This might help?

Unscheduled tasks from all projects

I will begin with a big thank you for the wonderful plugin.

Just one suggestion, though. If there is an open task in a project, it gets picked up in the dashboard. This is very useful to keep track of things.

But the unscheduled tasks from projects are not accumulated anywhere. This means that one needs to visit every project and look up all such tasks.

Is not there a way by which these tasks will appear in the dashboard under a heading, say, 'All Unscheduled'?

Website is slow or non-functional

If I click just about any link off of projectify.wiki--Documentation, for instance--my browser hangs and the page never loads.

I think I recently saw speculation that maybe GH Pages has issues with large HTML files? Wondering if anyone else has experienced this, and if it might be worth migrating to something like Netlify which also has a free tier?

Thanks.

[Feature] Move tasks between projects / return to Inbox button.

When organizing my work, I often need to change which Project a task belongs to.

It would be useful to have a dropdown on a Task which changes the Project it belongs to, as well as a button to return it to the inbox (especially if you've dragged a task from the Inbox to the wrong project).

Enhancement - Filter for Today, Upcoming

Thanks for your work on this project.

So far it is the closest thing to my ideal task manager because it can be combined with the extensibility of Tiddlywiki there are so many possibilities.

I think that it would also be really helpful to have a simple string-based filter (based on fields) for hiding / showing items based on different projects, or date ranges (not just "Today" and "Upcoming" but custom date ranges).

[Idea] Add the EmptyStory to Documentation

Hello again!

I've recently (re)discovered TW "EmptyStory" setting, and I've placed my Dashboard in there. It's been great! This might be a good tip to include in the documentation!

[Feature]Calendar begin with Sunday

Hi
I really love this tools
Very flexible!
Thanks for sharing

the feature that setting Calendar begin with Sunday will make the experience better and good for different habits people

Thank you!

Sub-project clarification

Hey Nico!

Im a bit confused about a SubProject. There is reference to a SubProject tag, but the demo doesnt have any, and it seems the only way to make one is to manually add that tag.

Also, dragging a project card into another does not create this tag, but tags one project with the other (does this make it a sub project?)

Projects with a SubProject tag no longer appear in the Dashboard .

The "convert into project" that todos have, removes the actual named project tag, (removes all tags) and just gives it a Project tag.

Im not sure if any of this is a bug or desired, but I am a bit confused as to the role/purpose and UI of a subproject in projectify.

Thanks!

[Idea] Incorporate dropdown/autocompletion

Hey Nico! I love this plugin!

It would be great if this plugin detected the EditCompText plugin and defined a completion template for it, allowing you to type in the inbox/quick add:

"Todo text @project" and when you typed the '@' a drop-down would come up allowing you to select a project.

I know this straightforward enough to implement client side, but it might make for a nice integration to include in the project.

If I figure out a working example of a template, Ill post it back here and close this issue if you don't think it fits the projects scope.

If thats the case, it might be nice to just add an example template to the project docs.


EDIT: There is also a really nice example of autocompletion in the Codemirror-Plus plugin that was recently posted on the google groups that could be relevant!

Due date assignment wrong

As described in this TW Users group thread, having just yesterday installed Projectify v0.9 and scheduled my first couple of ToDo items using the "Tomorrow" button, i was surprised this morning (i.e. "tomorrow" :-) to find that these two ToDos were red-flagged as 42 days overdue... And even more surprised after a couple hours work on other tiddlers (nothing related to these two, nor to the system) to find that they are now flagged as just 21 hours overdue, and with due-date of 20210110120000000 (closer, but is still wrong -even earlier than the create date on the tiddlers).

[Idea] Toogle todo button could also turn not a todo tiddler into a todo

Hello Nicolas,

For non todo tiddler the "Toogle todo" button could turn them into a todo (add a todo tag).

The new tiddler "states" triggered by the button would then be:

Not a todo --> todo <--> done
    (new part)   (existing)

I see this as an "irreversible" action (except by manually removing the todo tag).

Best regards,

Eskha

Strange Click Behavior

I followed the installation guide to add Projectify to my TW but I'm seeing some strange click behavior on tasks. First the layout looks incorrect with the checkbox, task description, and click and drag anchor on separate lines.

projectify_formatting_issue

Secondly if I click anywhere in the task's box it marks it as complete. I'm using Firefox and the demo site seems to work fine. It seems like there is some bad interaction with this plugin:

https://ibnishak.github.io/Tesseract/projects/tekan/Tekan.html

If I disable it things work as expected and as they do on the demo. Ideally I'd like to keep this plugin around, but I'm not sure why they conflict.

[Idea] Move "add task to project" to top of template

I have a lot of todos in a project and I got tired of scrolling to the bottom to add, so I editted: $:/plugins/nico/projectify/ui/project/Project to move the {{||$:/plugins/nico/projectify/ui/forms/ProjectActions}} line to right above the <h2><<lingo Todos>> line

I think this might work better for other users as well, so it might be worth adding to the tips/advanced usage doc.

[Idea] "Archive" done tasks

It would be a great feature to allow you "archive" done tasks - as in, "compress" them all into a bulletted list, or data tiddler, etc. and delete their actual full tiddlers.

I have quite a few ephemeral tiddlers lying around that will never be resurrected, and so don't need to be coming up in searches, tags, etc.

In ToDoActions move "Convert to Project" further down

The menu-item Convert to Project for a todo is an action, which will probably be used much less then adding a date or setting the priority. Therefore the menu-item should not be the topmost, but further down.

(UI Enhancement)

Upcoming-Dropdown opens to the right, outside window

If the Window does not have lots of whitespace on the right, the upcoming dropdown open outside the window (an is therefore partially hidden).

The dropdown should open to the left if there is not enough space. Or it could open to the left in general, because the button is on the far right anyway.

image

The problem is worse, if the sidebar-menu on the left is open.

Demo page, starts to load slow for me.

I have to say, I don't have the best download speed, but the demo needs about 3.6 seconds, to show something.

see:

grafik

The first thing I thought: ... Is it possible to tell the server, that it should use "server side compression"?

The other things are:

  • Why do you include all disabled translations in the demo?
    • They are not supported atm and only carry weight.
    • Once language switching is possible, I'd suggest to create a new edition, and tell users that it is huge.
  • Why do you include the "highlight-plugin" in the demo
    • IMO id doesn't add to the main functionality and it would save about 300kByte
    • empty also contains this plugin. Why?

I would keep the "relink-plugin". IMO it adds to the overall TW functionality!

I could easily strip it down to 2.8 MByte, but ... It still feels too much ... Will have a closer look.

Edit todo in place

While a todo can quickly be added and organized, modifying requires multiple clicks and feels "heavy".

It would be nice to be able to modify a todo (title) right in place within a todo-list. Tried myself, but could only get a button with a popup to work to some extend. Inline edition e.g. on double-click would feel more "natural".

From my perspective this could be a real "time-saver".

(Enhancement)

[Idea] A "longer" Next tab

Hello again!

I think it would be great if the "Next" tab showed more than just the top todo, or if this was perhaps configurable to show "top 5 per project" or "all in project", giving you a long view of each project and each todo in each project.

Thanks!

Update to TW 5.2.x

TiddlyWiki 5.2.x has a lot of important improvements. In particular the possibility to save tiddler data directly inside the tiddler, as discussed here. We are using Projectify for project based learning and would be great to be able to have an "answer" tiddler field where learners add the answer of a particular task in a (sub)project.

I will update my teaching wikis by installing Notebook and Projectify over plain TW 5.2.x meanwhile, but is much better if both are officially released as build on TW 5.2.x

Thanks.

Possible to be a category AND a project AND a classic tiddler ?

Hello,

not an issue but a question :

is it possible in projectify to have a slide that have several "objectives"

For example :

  • Category : Computer Sciences
  • Projects : Python, Hardware,... and Computer Sciences
  • Computer sciences tiddler : to display data as a project or category AND add some description text in the tiddler

Thanks

[RFE] Project Categories

Request for Enhancement

What

Categories of projects so that the dashboard can show just the projects of the desired context.

Details

I'm looking for a way to add my own Projects tabs to the dashboard so I can organize the projects by context/category (work, home, garden, etc).
What might be the best way to go about this? I was thinking of making copies of $:/plugins/nico/projectify/ui/dashboard/Projects that with category names and figuring out how to edit $:/plugins/nico/projectify/ui/dashboard/InboxAndProjects to have a drop-down selector for the projects group I want to work on. As I dig in I want to be sure this is the best way and you don't already have something else on the roadmap that I missed.
I'm happy to hack at this a bit to create a pr but would be interested in any pointers or direction you might be able to offer.

Thank you :)

Recurring task support

Hi!

I love Projectify! I've been successfully using it to manage my various projects and tasks at work, it works great. Big thanks for creating it :)

However, I tried using it for stuff at home and I noticed that I have a lot of recurring tasks (like watering the plants, cleaning, calling grandma). Are there any plans for supporting this kind of tasks? Or maybe I missed something and it's already supported?

For now I'm handling them by rescheduling a task once I complete it, instead of marking it as done.

possible bug? filtering todos

Tying in "this is a test" in the filter tab has the following effect:

This is a weird corner case, as TW filtering also creates 4 matches, but this tiddler shows them as todos with content. Clicking the content field marks it done (related to a previously reported/fixed bug).

Question: Is this the function of the filter tab the same as TW default filtering search?

image

Items scheduled for today show yesterday's date

Every item I schedule (using the date picker calendar) is assigned to the previous day.

When I edit an entry, the 'due:' field shows today's date like this 20201224000000000

But the text associated with it says it is overdue, because it is assigned to the day before the date shown above. (i.e., Dec. 23)

This happens on every item I have tried to schedule. It is the same in my browser (Firefox) or TiddlyDesktop.

TW v. 5.1.22
MacOS 11.0.1 (Big Sur)

Repositioning of datepicker pop up

When i installed projectify 0.8 in Krystal based TW (which has horizontally arranged tiddler), the date picker pop up is overlapping the right margin of the projects tiddler and is getting partly hidden. I have to scroll to the right to fully reveal the date picker pop up. I have attached a demo in this attached file. This behavior was not seen in any other story views. The previous version of projectify was working fine even in TW using Krystal plug in.

Krystal 0.3.2 + projectify 0.8 = for test.zip

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.