sh.Cameleer-Contrib
Cameleer-contrib is an additional package for Cameleer (https://github.com/MrShoenel/cameleer) that holds extra Task-Types, Controllers/Managers and various extensions.
Install via npm
npm install sh.cameleer-contrib
Note that this packages must be installed alongside Cameleer
, because it imports Cameleer's namespace and extends its types. Cameleer relies on instanceof
-checks that will not work otherwise.
List of current features
This list shows all current features of this package.
-
Managers:
-
AngularSimpleWeb:
- An angularjs-based web-manager for cameleer that shows its log, queues and tasks and currently allows for tasks with manual schedule to trigger them.
- This manager comes with its own express-server and supports web-sockets.
typedef
s and extendedschemas
are to be found in meta. - This manager is still in an early stage and will get more features and better UI soon.
-
TrayNotifier:
- A manager that observes Cameleer, its queues and its logs for messages and posts them to the system's tray, cross-platform, thanks to
node-notifier
. - Configurable: Configure sounds and which events to monitor (work, the log, the queues). Also shows messages when idle or shutting down.
- A manager that observes Cameleer, its queues and its logs for messages and posts them to the system's tray, cross-platform, thanks to
-
AngularSimpleWeb:
-
Controllers:
- <none so far>; however, Cameleer comes with two built-in controllers. Please contribute yours!
-
Extras:
-
CameleerQueueObserver:
- A class that can encapsulate a
CameleerQueue
and monitor all of its properties, its status, jobs, utilization etc. - Emits events in JSON-format and comes with/exports extensive
typedef
s.
- A class that can encapsulate a
-
CronSchedule:
- A ManualSchedule for Cameleer that build on
node-schedule
and thus allows to schedule Tasks via cron!
- A ManualSchedule for Cameleer that build on
-
UrlCalendar:
- A sub-class of
Calendar
that can directly be constructed from a URL. - Supports any options that
request-promise
supports and forwards them (e.g. post- or authenticated requests).
- A sub-class of
-
MultiScheduler/MultiSchedule:
- A Scheduler and a Schedule that were made to merge many Schedulers/Schedules, no matter their type.
- Useful for Cameleer when a Task shall be run by different schedules (e.g. a Calendar and a ManualSchedule). The MultiSchedule itself is a ManualSchedule.
-
CameleerQueueObserver:
-
Tasks:
-
7ZipTask:
- A specialized task that runs
7z
-processes to compress files. It automatically creates all necessary functional tasks, based on its configuration. Extratypedef
s and schemas are exported. - This task also supports copying files/directories (recursively) by using
recursive-copy
internally. When compressing, setting a password is possible (can be obtained async). - Supports recursively creating the target directory, path- and file name substitutions (like
%currentDate%
) and emptying the target-directory.
- A specialized task that runs
-
7ZipTask:
-
Tools:
-
WakeOnLan:
- An async function that supports waking computers on the network by their MAC address.
- Uses the node package
wakeonlan
internally.
-
WakeOnLan:
Contributing
-
This package:
- This package uses
subpackage
so that nested packages with their ownpackage.json
are supported. The angular-simple-web Manager uses that. However, some extensions (e.g. CronSchedule) do not require a sub-package. Please choose the appropriate solution for your contribution. - Please submit pull-requests and make sure your code is adequately tested. Starting from version 1.0.0 we will require a coverage of
95%
.
- This package uses
-
Your own package:
- Should you have your own npm-package, please notify us by opening an issue in Cameleer (https://github.com/MrShoenel/cameleer). We will consider your package then and mention it in Cameleer's readme.md!