GithubHelp home page GithubHelp logo

developers81828182 / fogmachine Goto Github PK

View Code? Open in Web Editor NEW

This project forked from centralreach/fogmachine

0.0 1.0 0.0 208 KB

CentralReach backed FogBugz working on and case management (coming soon!) chrome extension

JavaScript 89.45% HTML 10.55%

fogmachine's Introduction

FogMachine

Now available in the chrome web store here:

https://chrome.google.com/webstore/detail/jfmcegeknnnnnmjhcnhljhiinfonmfid

Not currently marked publicly available yet (i.e. you cannot find it by searching the store, only by following the link above). Not likely to do so until or unless we move and/or allow public signup into the CentralReach API portion of the extension.

If you prefer, you can also simply clone this repo and load it as an upacked extension, which requires running your extensions in developer mode (we're all developers anyhow, right?).

See the following for help:

https://developer.chrome.com/extensions/getstarted#unpacked

After installing:

  1. Set the options you prefer
  2. Enter your FogBugz and API credentials
  3. All done - stop using the FogBugz built-in working timers

The basic premise is to automatically manage what you are and are not working on for FogBugz cases simply by doing so for you as you open and/or view various cases in your browser. Additionally it integrates with new services on CentralReach's server-side API to interact with the FogBugz API instead of doing so directly from the extension. Why you ask?

  • The FogBugz API is...let's just say it's not the snappiest
  • The FogBugz API is...let's just say it isn't around all the time
  • We include logic in our services to handle the FB Api being unavailable (and resending and syncronizing times when it does start responding), save and allow the option of reprocessing things that may be invalid and/or not accepted by the FB Api later, etc.
  • This also allows us the ability to later integrate with other systems direclty as cases are worked on (or in the future commented, changed, etc.), i.e. our CentralReach task/pm platform, or some other platform.
  • It lets us start building the framework for a JavaScript CentralReach API SDK at the same time...

Depending on how you've configured your options, it will currently:

If you have the auto work on viewed cases option on and you do any of the following:

  1. View a case for your configured FogBugz URL
  2. View a PR at your GitHub URL with a branch reference that includes a case
  3. Join a meeting in your Conference URL that has a URL that includes a case nubmer
  4. Visit a URL that you have mapped to a case in your Static Case Map

Then the extension will:

  1. Optionally wait for a configured delay before starting work on the case (see the auto work delay) option
  2. Notify you that it is about to start work on a given case (for about 2-3 seconds, not currently configurable) giving you the option to cancel or allow immediately (i.e. ok or cancel)
  3. Start work on that case via the CentralReach API
  4. Optionally confirm notify (see the notify on start/stop option) you that you have started work on the given case

Note that opening a new case in a non-active tab (i.e. right-click and open in new tab without actually viewing the case) will NOT trigger starting of work on that case...until you actually look at it. This is by design.

If you have the stop work after idle option set > 0, once your computer has been idle for that number of seconds it will:

  1. Notify you that it is about to stop work on all cases (for about 5-6 seconds, not currently configurable) giving you the option to cancel (you cannot allow immediately, i.e. ok, because as soon as the extension senses computer activity it will cancel this)
  2. Stop work on all cases via the CentralReach API
  3. Optionally confirm notify (see the notify on start/stop option) you that you have stopped work on all cases

If you have the stop work after idle option set > 0, and your computer goes to sleep/hibernates/etc:

  1. This works basically identical to the above without the initial warning notification (#1 from above), which would be kind of pointless while your computer is asleep...

If you have the stop work when navigating to FogBugz non-case URL option on and you navigate to a URL that is still part of your configured FogBugz URL host (i.e. a wiki, or a case filtler listing, etc.), it will:

  1. Initiate a stop work automatically cycle

If you have the resume work when returning from idle option on and your computer returns from sleep and/or begins activity (i.e. you type a key, move the mouse, etc.), it will:

  1. Initiate a start work automatically cycle on the case you were working on prior to the inactivity

Note that the resume work functionality will only auto-resume work on your last active case if the tab that the case was opened in is still open and active (doesn't have to be visible, or highlighted/viewed, etc...just has to still be open on your machine). This is by design.

Turn this option on to automatically start work on any case you open or view in any tab in chrome. This basically listens for both the onActivated and onUpdated chrome tab events, and will auto-work on any case found in the updated and/or activated tabs.

In seconds.

Delay this number of seconds at the start of the auto start work cycle. Helpful if you often quickly change tabs to reference notes in subcases, etc. of the case you're actually working on.

Turn this on to get a confirmation notification at the end of the auto start work and auto stop work cycles that you indeed have started or stopped case work.

In seconds. Minimum value supported by chrome is 15 seconds, which will be used if you enter something > 0 and < 15. Set to 0 or negative to disable auto stop work cycles.

Number of seconds your computer should be idle before auto stop work cycle begins.

If this is set > 0 it also always includes handling of computer sleep/hibernate as well.

Turn this on to auto start work on the case that was active prior to an auto stop work event.

Ignored if stop work when idle option is <= 0.

Turn this on to auto stop work when navigating to a URL that is still within your configured FogBugz URL host domain but is NOT a case url, i.e.:

  • Case listings (e.g. myfbsubdomain.fogbugz.com/f/filters/...)
  • Case outlines
  • Search results
  • Wikis
  • etc.

Your FogBugz URL.

Your GitHub URL. If you want work to automatically start against a case that is contained within either the source or target PR branch names (if the target has a case number in it, that takes priority), set this to a valid GH url.

Your video/conference call site URL. If the first URL segment after this root URL contains something we can assume to be a valid FB case number, we'll automatically work against that case when you join the conference in your browser.

A simple JSON key/value pair of static URLs and the case you want to track time against when/if you visit the given URL in your browser.

Here you can stop work, start/resume work on your last active case, and enter or change the credentials you use to link to FogBugz and the CR API. You only need to enter these once per browser instance you plan to use (we do not sync credentials with the extension purposely for now).

See the following FB article for information on how to get an API token for your user:

http://help.fogcreek.com/8447

The Username and Password for the CR account to which the FB token and any future integrations with CR would be effected within. Typically this would be your personal CR organization credentials.

Currently, there is no direct integration with the CR platform, though this may change in the future.

fogmachine's People

Contributors

boydc7 avatar ambroselittle avatar

Watchers

 avatar

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.