text:
Cerb (7.2) is a major functionality update released on August 5, 2016. It contains over 143 new features and improvements from community feedback. There are 85 additional improvements provided in 5 maintenance updates.
This is a summary of the most significant improvements.
- To check if you qualify for this release as a free update, view Setup->Configure->License. If your software updates expire on or after May 1, 2016 then you can upgrade without renewing your license.
- Visit the project website to purchase a new license or extend feature updates on your existing license.
- 1 Introduction
- 2 Important Release Notes
- 3 Quick Search
- 3.1 Group worklist filters with AND and OR
- 3.2 Filter with an array of values
- 3.3 Filter using ranges of numeric values
- 3.4 Filter using negation
- 3.5 Apply the same filter multiple times
- 3.6 Improvements to fulltext searching
- 3.7 Fulltext search results provide more information
- 3.8 Improved quick search hints menu
- 4 Cards
- 5 Workspaces
- 5.1 Incremental bulk update for large worklists
- 5.2 Improved the usability of broadcast placeholders
- 5.3 Broadcast from contact worklists
- 5.4 Broadcast from worker worklists
- 5.5 Broadcast from organization worklists
- 5.6 Custom fields in worklists are much more efficient
- 5.7 Dashboard widgets load faster
- 5.8 Improved field selection on worklist export
- 5.9 Miscellaneous worklist improvements
- 5.10 Added a primary email address to organizations
- 5.11 Localization fields on contacts
- 5.12 Bulk update watchers on contact worklists
- 5.13 Bulk update more fields on worker worklists
- 5.14 Condensed the active workers list
- 5.15 Improvements when importing ticket records
- 6 Virtual Attendants
- 7 Search
- 8 Mail
- 8.1 Improved placeholder usability in signatures
- 8.2 Improved ticket status performance
- 8.3 Improvements to email headers performance
- 8.4 Full original headers in message records
- 8.5 Logging message headers in the email parser
- 8.6 Faster message threading performance in the email parser
- 8.7 Improved email parser efficiency
- 8.8 Track the last checked time on mailboxes
- 8.9 Usability
- 9 Tasks
- 10 Snippets
- 11 Profiles
- 12 Portals
- 13 Notifications
- 14 Setup
- 15 Reports
- 16 Web API
- 17 Plugins
- 18 Platform
- 19 Maintenance updates
We aim to ship a major functionality update every 3-4 months. The development cycle for 7.2 was longer than usual (about 7 months), since it evolved in tandem with the introduction of Cerb Cloud.
** To honor our commitment to 3-4 major updates per year for annual subscriptions, we are backdating the release date of 7.2 for licensing purposes to May 1, 2016 **
We've spent several months auditing the daily usage of Cerb Cloud instances with 7.2 and fine-tuning our code and queries. We revamped our platform to take proper advantage of cloud-based deployments (e.g. load balancers, multiple web servers, databases with read replicas, distributed filesystems, distributed caches, Elasticsearch, etc). A single instance of Cerb is now capable of painlessly scaling to hundreds of concurrent workers who field tens of thousands of messages per day. There is nothing proprietary in how we're accomplishing that -- even if you run Cerb on your own hardware, the "cloud" focus of the 7.2 release provides you with many major scaling and performance improvements.
Many other improvements in 7.2 are similarly focused on scalability: dashboard widgets load in parallel, bulk update on long worklists runs incrementally rather than taking forever without any progress output, fulltext searches that return too many results help the worker be more specific, the schema and database indexes were made more efficient by combining related fields and records, etc.
The other major focus of 7.2 was on improving the flexibility and usability of worklists and Virtual Attendant behaviors, since they are the basis of almost everything interesting about Cerb. As we've consulted with teams who are deploying Cerb, they've asked for seemingly simple things that Cerb just couldn't do easily: "How do I build a worklist with tickets I'm either the owner of OR a watcher of?", "How do I build a worklist with a non-continuous range of values, like < 5 OR > 10?", "How do I build a worklist of records with at least one watcher who is not myself (without explicitly filtering for every other worker on my 70 person team)?", etc.
To that end, quick search has been significantly improved. You can now include the same filter multiple times, use lists and negation, and (most importantly) you can group filters with AND and OR. This makes so many new workflows possible.
Similarly, when we run through a training session with a new team, there's a fairly universal pause as the huge list of 800+ placeholder options results in cognitive overload. Those placeholders are now presented in nested menus like Ticket » Latest Message » Sender » Organization » Name. It's much, much simpler. We're looking forward to breezing through those examples during training sessions in the future.
There are a lot of palpable improvements in this release. There just as many "under the hood" improvements to keep things running efficiently, on the most modern hardware, with less frustration, as building blocks for all kinds of future functionality. We have a huge pile of feedback, plenty of big ideas, and no intention of slowing down.
Thanks for supporting Cerb!
- Jeff Standen, Software Architect, Cerb
Important Release Notes
- Always make a backup before upgrading.
- To upgrade your installation, follow the instructions here.
- If you use the REST API for integration, note that the
is_closed, and
is_deletedfields on
ticketrecords are now stored in the
Quick Search
Completely overhauled the quick search interpreter to enable more expressive queries. This is simpler for workers, saves a lot of work for third-party developers, promotes a consistent syntax across filters, and is far more flexible when adding new functionality.
Group worklist filters with AND and OR
Previously, all the filters added to a worklist were in a single
AND group. Additional filters could only further narrow down the current results. There was no way to join the results of two independent filters.
It is now possible to add any number of filters in arbitrary groups using
AND and
OR keywords. By default,
AND is used when an operator isn't specified.
Parentheses are used to define a group of filters, and groups can be nested within other groups.
For example, a very common request is for a worklist that displays tickets either owned by OR watched by the current worker. This previously required two worklists. It can now be accomplished with this quick search:
Similarly, you can display a worklist of tickets that have at least one watcher BUT exclude any records watched by a particular worker:
Filter with an array of values
Previously, some filters allowed an array of values, but it was never made clear when this was possible, and the format wasn't standardized.
Now you can specify an array of values by including them within brackets and separated by commas:
Filter using ranges of numeric values
Previously, you could only filter a numeric value using greater than or less than.
You can now specify a range of values by separating the lower and upper (inclusive) boundaries with an ellipsis (
Filter using negation
Previously, some filters supported negation, but this was also inconsistently handled.
Now you can specify a negated filter by using an exclamation mark (
!) as the first character of the value:
Apply the same filter multiple times
Previously, each filter could only be used once per worklist. This made it difficult or impossible to handle some queries (e.g. "any value from 10 to 20, but not 15").
You can now apply the same filter any number of times.
For instance, you can find records without an owner OR where you are the owner:
You can also filter non-continuous ranges:
Improvements to fulltext searching
Any search text without an explicit
field: prefix is considered to be part of a text-based search. Quoted phrases in quick search queries may contain any characters other than extra quotation marks.
Boolean operators are now supported regardless of the search engine in use (e.g. word OR "phrase two").
Fulltext search results provide more information
When performing a fulltext search on a worklist, meta information is now displayed above the worklist for each search (search engine, query time in milliseconds, total results). If more results were found than returned, a "try being more specific" message is given. This should help address usability issues when using search engines like Elasticsearch (returning 500-1000 results) where it wasn't previously clear that partial results were being returned.
Previously, the hints for quick search were found in a drop-menu that had to be opened and closed manually. Now the syntax and available filters are autocompleted while typing. Previously, inserting filters from the menu only appended to the end of the text box. Now, autocomplete suggestions will be inserted at the cursor position. Autocomplete situations are now also aware of the content around the cursor.
Customizable fields on card popups
[CHD-4353] We've received many requests for the ability to add other built-in and custom fields to the card popups. Previously, the displayed fields were hardcoded and couldn't be changed without hacking around in the code.
From Setup->Configure->Cards, admins can now configure the default fields that show up on card popups for every record type:
Quickly compose new messages from cards
[CHD-4386] When viewing an address card popup, a 'Compose' button is now available in the 'Tickets' section. Clicking this buttons opens the compose dialog and pre-fills the email address in the 'To:' field:
When viewing a contact card popup, a 'Compose' button is now available in the 'Tickets' section. Clicking this buttons opens the compose dialog and pre-fills the email address in the 'To:' field.
When viewing an organization card popup, a 'Compose' button is now available in the 'Tickets' section. Clicking this buttons opens the compose dialog and pre-fills the org name in the 'Org:' field, which provides autocomplete suggestions of the most common contacts from that org.
Card popup for task records
Implemented card popups for task records. Previously, the peek for task records always opened in edit mode.
Comment timelines on card popups
When viewing a card popup you can now quickly view all the comments on the record. You can also add a comment using the new 'Comment' button at the top. After commenting, the comments timeline will automatically refresh.
Incremental bulk update for large worklists
Improved bulk update functionality on worklists. Previously, the bulk update attempted to complete in a single request, which often timed out on the server, leaving the worker unsure if it completed or not (whether it did depended on PHP/MySQL configuration). Now, bulk updates run small batches of records with real-time progress shown above the worklist. Upon completion, the worklist will refresh as expected. The new process properly handles the updating of thousands of records.
Improved the usability of broadcast placeholders
When broadcasting from a worklist, the available placeholders now display in nested menus rather than a very long list. This significantly speeds up the process of finding the desired placeholder.
Broadcast from contact worklists
Implemented broadcast functionality in bulk update for contact worklists.
Broadcast from worker worklists
Implemented broadcast functionality in bulk update for worker worklists.
Broadcast from organization worklists
Implemented broadcast functionality in bulk update for organization worklists.
Custom fields in worklists are much more efficient
Significantly improved the performance of worklists that use many custom field columns. Previously, custom field columns had a linear cost in the database (more columns meant more complexity). Now this cost is constant, and the custom field values are "lazy loaded" (they are all loaded with a single query and only when requested, and then merged with the original search results). Any number of custom fields may now be displayed as columns without negatively impacting performance. If a custom field column is used to sort the worklist, we still retrieve it with the original search results to make that possible.
Improved the performance of multi-value custom fields when used as NOT IN filters on worklists. These fields have a special condition where the presence of any of their fields in a "NOT IN" should exclude the field entirely, even if other values exist.
Dashboard widgets load faster
Dashboard widgets now load in parallel. Previously, dashboard widgets all loaded serially (i.e. one at a time). Now, up to three widgets will load at the same time.
Improved field selection on worklist export
When exporting from a worklist, the field chooser now uses nested menus to simplify selection. The default fields for each record type is also automatically selected.
Miscellaneous worklist improvements
- [CHD-4330] Contact-based worklists can be subtotaled on gender.
- Worker-based worklists can be subtotaled on gender.
- Removed the 'Last Action' column on ticket worklists in favor of 'Last Wrote'. The same functionality can be added back through Virtual Attendant worklist behaviors.
- Significantly improved the performance of filtering by watchers on worklists.
- Improved the performance of ticket worklists when filtering by
participants:(particularly when filtering for participants with a *@host wildcard).
- Contact-based worklists can be quick searched by
- Worker-based worklists can be quick searched by
- Added a
comments:filter for searching comments on contact worklists.
- Added a
va:filter for searching by Virtual Attendant in scheduled behavior worklists.
- Added an
inGroupsOfWorker:filter to ticket worklists.
- On ticket worklists, the
response.first:filters now accept dates in natural language, like "< 1 hour" and "2 hours ... 8 hours".
- On message worklists, the
responseTime:filter now accepts dates in natural language, like "> 1 hour" and "2 hours ... 8 hours".
- [CHD-4375] In message worklists, added a
header.messageId:quick search filter for matching messages based on their 'Message-Id:' header. This is particularly useful for webhook behavior from Mailgun, where the message-id header is the only identifier available. The filter will only return exact matches.
- On ticket worklists, the bulk update popup now uses linked dropdowns for group and bucket in the 'Move To:' option. Selecting a group in the first dropdown displays its buckets in the second dropdown. Previously this was a huge list of "Group:Bucket" options.
- Removed the 'pile sort' option from ticket worklists. This can be handled with subtotals and bulk update in modern versions.
- When using bulk update from an organization worklist, the country field now autocompletes using existing values.
Added a primary email address to organizations
[CHD-4370] Added a primary email address field to organization records.
Localization fields on contacts
Added 'language' and 'timezone' fields to contact records. These provide for localization in community portals, and improved segmentation in worklists and reports.
Bulk update watchers on contact worklists
When bulk updating contact worklists, watchers can be added and removed.
Bulk update more fields on worker worklists
When bulk updating a worker worklist, the following fields may now be set: title, location, gender, language, and timezone.
Condensed the active workers list
The "Who's Online" section now has a smaller footprint. Previously, every worker was listed on a separate line with their IP, idle time, and last activity. This information (and much more) is now available in worker cards. Workers are now listed as links (to cards) in a paragraph and separated by commas.
Improvements when importing ticket records
- The
<is_closed>fields no longer exist in the schema. These should be replaced with
<status>with a value of: open, waiting, closed, or deleted.
- The
<is_outgoing>element can be provided for all message records. This removes the requirement that sender addresses are set up beforehand and match.
- The raw message headers can be provided in the
<headers>element as a CDATA text block (rather than itemized elements per header/value pair).
- The
<org>element is available to create/link an organization to the ticket.
Virtual Attendants
Improved the usability of placeholders in conditions and actions
When editing Virtual Attendants, the 'Insert Placeholder' button now opens a nested menu with related placeholders grouped together. This replaces a flat list with hundreds of options.
Simpler worklist behaviors
All worklists now have improved markup to simplify Virtual Attendant behaviors that target specific columns. A
data-column attribute is available on each table cell.
Improved search performance
Improved the performance of fulltext search filters when using the default MySQL Fulltext search engine. As of MySQL 5.6+, both MyISAM and InnoDB database tables support fulltext indexes. Prior to that only MyISAM supported fulltext, and that was how Cerb was developed and benchmarked.
Our testing has shown InnoDB to generally be faster when matching terms ('all these words'), but significantly slower for matching phrases, especially in datasets with millions of rows (as is the case in many Cerb environments).
We've discovered many "exact phrase" searches in Cerb Cloud that took less than a second with MyISAM which are taking minutes in InnoDB. This has do with the fact that InnoDB uses distributed indexes and doesn't currently support a LIMIT clause to stop once the desired number of matches are returned.
By moving phrase searches into Cerb (using the index to match all the words in any order, then a LIKE for the exact phrase), we're able to make those slower searches in InnoDB more than 100X faster. This change also speeds up non-phrase searches, even against MyISAM tables.
Improved search relevance
Previously, when building search indexes for the MySQL Fulltext engine, we heavily pre-processed content to convert to lowercase, remove punctuation, remove reply-quoted content, remove common ("stop") words, remove accents, etc. This resulted in more efficient indexes, but it also reduced search accuracy. It also prevented some phrase searches from matching properly. Now all we do is strip reply-quoted lines and truncate content to the first 5KB. This only applies to content indexed after the 7.2 upgrade, so a full reindex should be performed if you need to search older content this way.
When using a fulltext search filter on a worklist using the MySQL Fulltext search engine, the query will now be pre-processed to conform to MySQL's requirements. Terms that are smaller than 3 characters or larger than 82 are ignored, as are words that appear in the default InnoDB "stop words" list. This is because the presence of any of these terms in an "all these words" search would return 0 results instead of being ignored by MySQL.
Improved InnoDB Fulltext support
- A new
APP_DB_ENGINE_FULLTEXToption is available in the framework.config.php file. This specifies the MySQL database engine that should be used for newly created fulltext search tables. In MySQL 5.6+, 'InnoDB' now supports fulltext indices. Previously, only 'MyISAM' tables supported them. This is particularly important at scale since InnoDB is recommended (or even required).
APP_DB_ENGINE_FULLTEXTnow defaults to
APP_DB_ENGINEwhen not explicitly set in
framework.config.php. If this results in InnoDB being selected in MySQL versions prior to 5.6, then MyISAM is always used regardless of this setting.
- The installer now checks if the MyISAM storage engine is disabled and the MySQL version is less than 5.6 (where InnoDB has fulltext indexing). If the MySQL version is >= 5.6 then the installer will succeed with InnoDB handling everything.
Improved Elasticsearch integration
- Fixed an issue where newer versions of the Elasticsearch search engine couldn't be configured.
- Condensed search schema document indexing into a single 'content' field. This is what the MySQL Fulltext search engine did anyway, and Elasticsearch doesn't need the inefficient
_allfield with this approach. Cerb already provides filters for everything else.
- When configuring Elasticsearch, a "default query field" option is now available. This makes it possible to disable the
_allfield in an Elasticsearch index to save resources (up to a 50% reduction). In most cases, Cerb writes to an aggregated 'content' field rather than itemizing fulltext search fields.
- Added default timeouts to searches using the Elasticsearch engine. The indexing timeout is 20 seconds and the query timeout is 5 seconds.
- When performing fulltext searches using Elasticsearch, a 'max results' setting over 1000 results now joins a temporary table. When returning fewer than 1000 results, the more efficient inline
IN(...)method will continue to be used.
- Added a helper script to
install/extras/developers/search_dump_elasticsearch_json.phpto assist with bulk importing message content from Cerb into Elasticsearch.
Limit results for all search engines
- All search engines (MySQL FT, Sphinx, Elasticsearch) can now provide a 'max results' option.
Improved placeholder usability in signatures
- When editing signatures on sender addresses in Setup, the 'Insert Placeholder' button now uses nested menus rather than a huge dropdown list of placeholders.
- When editing signatures on bucket records, the 'Insert Placeholder' button now uses nested menus rather than a huge dropdown list of placeholders.
- When editing HTML templates in Setup, the 'Insert Placeholder' button now uses nested menus rather than a huge dropdown list of placeholders.
Improved ticket status performance
Optimized the way the
status field is stored for ticket records in the database. Previously, there were three different fields and indexes involved (is_waiting, is_closed, is_deleted), as a byproduct of continuous improvements over many years. These fields have been consolidated into a single
status_id field. This should result in slightly faster ticket worklist results, slightly less filesystem space wasted, and much cleaner logic in the code.
Improvements to email headers performance
Improved the performance of operations involving email message headers (e.g. to/from/subject/date/etc) and made them much more efficient in the database.
Previously, each header/value pair was saved as a separate row in the
message_header table. Since each message has many headers, the record count of the headers table grew exponentially larger. For instance, one sampled production Cerb environment had 1.7 million messages and 42 million message headers (an average of 25 headers per message). The access times of the
message_header table could be negatively impacted at scale. Additionally, since message headers are immutable (never modified and never appended to), it made little sense to store headers individually.
Cerb now stores all of the headers for a message together in a single row, making reading and writing a single operation and result. The 7.2 update automatically migrates existing records to the new format. The overall size of the data in the table should be relatively unchanged, but the size of the indexes is significantly reduced since the header names and first few characters of each value no longer need to be indexed.
Full original headers in message records
Previously, when viewing a ticket profile, messages could be toggled to show "brief" or "full" headers above the content. However, the "full" version of these headers was not the original copy -- it was decoded, de-duped, etc. The raw original headers are now stored for each message, and can be accessed from the "Show Full Headers" button in the extended "..." options at the bottom of each message. The original headers are shown unformatted in a popup, rather than expanding above the message, which makes it easier to inspect and copy them. Whenever these headers are used in Cerb (displayed on messages, in Virtual Attendants, etc) they are decoded in real-time. This allows the handling of header information to change and improve without modifying their original state.
Logging message headers in the email parser
When the 'cron.parser' scheduler job runs to process incoming mail, it will now log output for several important headers (e.g. To, From, Subject, Date, In-Reply-To, Delivered-To) to assist with later troubleshooting and forensics. Previously, only the file name of the parsed message was logged, unless Virtual Attendants ran conditions against specific fields.
Faster message threading performance in the email parser
Improved the performance of threading replies to conversations.
Previously, Cerb used a MySQL
header_value prefix index on the
message_header table for lookups. This was inefficient for several reasons:
- All of the stored headers wrote to the same index, not just 'message-id'
- The value of 'message-id' wasn't guaranteed to be well distributed (there could be millions of rows with the same prefix); etc.
Message-ID: header of each message is now converted to a SHA-1 hash and stored on the 'message' table. It's now much faster when matching an incoming
In-Reply-To: or
References: header against these values. The SHA-1 hash is a fixed length (40 characters), and even very similar (but different) values will end up having very different hashes, which allows us to more efficiently index only the first few characters of the hashes for lookups. In high-volume environments with database contention (e.g. locks), message_header lookups were often implicated, and this should no longer be an issue.
Improved email parser efficiency
- Refactored the email parser to be more efficient. Replaced the direct usage of the
mailparse_*API in PHP with Mailparse's
MimeMessagewrapper class. This simplified the ability to parse email messages as either files or text-based variables and cleaned up a lot of code. Previously, Cerb always wrote email messages to the filesystem before parsing (i.e. Support Center, REST API), which generated needless filesystem I/O (much slower than memory).
- In the inbound email parser, the enforcement of the maximum attachment size is now more efficient. Previously, the attachment was always written to disk before the size was checked and the file potentially discarded. Now, if a
Content-Disposition-Size:header is provided, this can be used to ignore an attachment before doing anything else with it (saving compute cycles, filesystem I/O).
Track the last checked time on mailboxes
[CHD-4188] Mailbox records now keep tracked of their 'last checked at' timestamp. This is used to check mailboxes in the order of least recently checked first, which addresses issues where a slow or busy first mailbox could block other mailboxes from ever being checked.
- Improved the usability of the 'skip to bottom' link on each message in a ticket profile. This link was designed to make it easy to jump to the message actions when viewing a large message; however, it displayed on all messages. This button will now only show up when the message actions (like 'Reply') are scrolled beyond the bottom of the browser's current viewport. This saves some screen space and reduces clutter when reading shorter messages.
- [CHD-4396] When sending HTML mail, improved the way that Markdown-formatted lists are converted back to plaintext.
- [CHD-4329] When viewing a ticket timeline, if a message sender has an organization but not a contact, the organization details are now displayed along with a card popup.
Task records have an owner field
Task records now have a built-in 'owner' field to simplify worker assignments. Previously this required the use of a worker-based custom field.
Task records have an importance field
[CHD-4226] Task records now have a built-in 'importance' field that behaves like the same field on ticket records. This allows for simpler prioritization of tasks without requiring the use of custom fields.
Improved placeholder selection in snippets
When editing snippets, the 'Insert Placeholder' button now opens a nested menu rather than a flat list with hundreds of options.
Creating snippets using selected text
[CHD-4415] When opening the 'Create Snippet' popup from compose or reply, any selected text in the current message will be used as the snippet's default text. Previously, this content had to be copied manually in a second step.
Improved permalinks on profiles
Improved the usability of permalink buttons on profiles. Previously, clicking a permalink button redirected the browser instantly to the permalink URL, which was often undesirable (e.g. when in the middle of a reply). These buttons didn't allow copying the URL in all browsers (Firefox in particular). Now, clicking a permalink button opens a popup which displays the permalink URL, already selected and ready to copy. This doesn't prevent a worker from continuing what they were doing by redirecting them to something else, and it makes it much easier to share these URLs.
Activity Log
In the activity log, when a ticket is assigned to a worker, that worker's name is now a clickable link to their profile.
- Added a cache for community portal records. Previously, these results always came from the database.
- Improved the performance of loading templates from plugins. Previously, the content of the referenced templates was being loaded every request. Now they are only loaded when their modification times have changed.
- Previously, when custom templates in Community Portals (like the Support Center) were modified, the entire template cache was flushed. Now only the cache of that specific template is removed.
- Added an error message when attempting to add a community portal and no portal extensions are enabled.
- Custom templates in the Support Center now run in a secure sandbox.
Changes to the notifications popup are saved
[CHD-4266] The unread notifications popup now saves any changes made (e.g. filters, columns, subtotals, sorting).
Improved the organization of the Setup page. The 'Configure' menu now has subsections for System, Contexts (Record types), and Plugins. Virtual Attendants and Portals moved out of Configure into their own top-level menus.
In Setup, when creating or modifying mailboxes, a new 'Disable PLAIN Authentication' option is available. This is necessary for proper authentication in some environments (e.g. shared mailboxes in Exchange/Office365).
- Added an
ignore_internal=1option to bare scheduler /cron URLs. This ignores the built-in scheduler jobs (e.g. heartbeat, mailbox, parser, search, etc) and only runs plugin-provided scheduler jobs. This is useful when scheduling jobs independently by type.
- In the scheduler, added a
max_mailboxesURL option to /cron/cron.mailbox to control how many mailboxes are checked per job.
In Setup->Configure->Sessions, the bulk update action for deleting sessions moved to a worklist action.
Added choosers to report filters
[CHD-4331] The 'Worker History over Date Range' and 'Group Replies over Date Range' reports now use the new chooser popups for filtering.
Web API
Add attachments to comments in the API
[CHD-4369 When creating a comment through the Web-API, attachments can now be added to the comment using one or more instances of the
file_id[] parameter.
Asset Tracking
- [CHD-3576] Implemented bulk update functionality on asset worklists.
- When sending a broadcast from a domain worklist, file attachments can be added to the messages.
[CHD-582] The installer now automatically adds the client's IP to
AUTHORIZED_IPS_DEFAULTS in
The Cerb automated upgrader will no longer close all worker sessions when updating. If a specific patch needs to force all workers to log back in (which should be rare), then it can explicitly do so. This change makes the upgrade process more seamless, less annoying for workers, and allows it to be automated.
[CHD-4398] Added a global 'Timezone' setting to Setup->Configure->Localization. This serves as the default when a worker doesn't have a timezone set, or there is no session (Virtual Attendants, webhooks, etc). In many standalone deployments this wasn't necessary since the system timezone was sufficient as a default, but in distributed and multi-tenant environments we needed a per-instance default.
- Worker 'last activity' is now determined by the activity log and sessions, and the separate mechanism from 4.x that wrote simple activity info directly to worker records has been removed. This is more efficient since it's not constantly invalidating the worker cache (previously even several times per minute). On worker peeks, when a worker has been active within 15 minutes, they're "currently active" rather than "active 49 seconds ago", which allows sessions to update more efficiently as well.
- Optimized the database indexes for: address, attachment_link, comment, context_link, message, and ticket. This should reduce disk space usage and speed up writes.
- Added
APP_DB_OPT_CONNECTION_RECONNECTS_WAIT_MSoptions to
framework.config.php. These control the number of times, and duration between, that Cerb will attempt to reconnect to a prematurely closed database connection (i.e. one that had connected successfully at the beginning of the request). The first database connection when Cerb answers a new request ignores these options, and will fail instantly if the database is unavailable. These options are specific to situations where MySQL severs connections ("MySQL has gone away", "MySQL is shutting down", a long running query is killed from the MySQL console, etc). The option defaults to retrying 10 times with 1 second between attempts. In high traffic environments this could be tuned to fail quicker (and not hold load balancer or proxy connections open longer), and in lower traffic environments it could be tuned to retry longer (especially for a known flakey database host). Previously, if a database connection closed during a Cerb request, the subsequent queries in the same request would fail. It is now possible for Cerb to retry the previously failed query (when caused by the database host connection rather than SQL syntax errors) and resume/complete normally.
- When the database isn't running in master/slave mode (read/write splitting), or when the slave connection fails and it falls back to master, Cerb is now more efficient about continuing with that assumption for the remainder of the request. Previously, the connection was re-checked multiple times.
- Added some sanitization checks when writing to the server-side cache. Previously, it was possible for the cache to become poisoned with invalid results in some rare situations (e.g. "MySQL has gone away"). This could lead to difficult to troubleshoot issues, like legitimate logins returning "Invalid password".
- The
templates_cpath where Smarty compiles templates is now configurable in framework.config.php from the
APP_SMARTY_COMPILE_PATHoption. This is useful in multi-tenant environments where the template compile cache can be shared between instances (which reduces I/O on disk and memory usage in opcache). It also allows the template compile cache to be separated from other temp files, since the compile cache is frequently accessed and rarely changed, and it may not perform well on some shared filesystems (NFS, etc). Previously, this path was always located in
- When Cerb displays an error and shuts down (e.g. "Cache not writeable", "Can't connect to database", "Access denied"), a proper HTTP status code is returned. Previously, a lot of these error messages still returned
HTTP 200 OK, which caused problems with detecting errors from distributed services like proxies, load balancers, and monitoring.
- Added
APP_DB_OPT_SLAVE_CONNECT_TIMEOUT_SECSoptions in framework.config.php for independently controlling the timeout when connecting to the MySQL database(s). This previously used the system default, which was often 30+ seconds (way too long in distributed environments). The default timeout is now 5 seconds for the master and 1 second for the read slaves. This improve the gracefulness of fail-over capabilities in distributed environments.
- When a connection to the slave database fails (if defined), Cerb will now revert to the master. Previously a fatal error was returned which prevented the app from working at all. This change improves graceful fail-over in distributed environments.
- Added a
DEVBLOCKS_CACHE_ENGINE_PREVENT_CHANGEoption to framework.config.php for preventing changes to cache configuration from Setup. When enabled, it also hides Setup->Configure->Cache. This option is useful when combined with
DEVBLOCKS_CACHE_ENGINEto prevent Cerb's cache from ever touching the filesystem in a clustered environment.
- Added
DEVBLOCKS_CACHE_ENGINE_OPTIONSoptions to framework.config.php for overriding the default cache in the platform. In a distributed environment with many web nodes and a shared filesystem, it can be inefficient for the initial cache (plugins, extensions, classloader, etc) to always be read from and written to disk-based storage, even when a memory-based cache (Redis/Memcache) is enabled. This occurs because the platform uses the cache before it has started up (cache engines are implemented as plugins, and plugins need to be loaded to use them). The
DEVBLOCKS_CACHE_ENGINEoption bypasses this. In our multiple web node tests against shared filesystems (NFS/EFS/RedisFS), connecting to Redis/Memcache directly rather than using an NFS/FUSE mount was over 400% faster. This is particularly useful for high-volume, high-availability installations and cloud hosting.
- Added a
DEVBLOCKS_STORAGE_ENGINE_PREVENT_CHANGEoption to framework.config.php for preventing changes to storage configuration from Setup. When enabled, it also hides Setup->Storage->Profiles. This is particularly useful in multi-tenant environments (like Cerb Cloud).
- Added a
DEVBLOCKS_SEARCH_ENGINE_PREVENT_CHANGEoption to framework.config.php for preventing changes to search configuration from Setup. When enabled, it also hides Setup->Configure->Search. This is particularly useful in multi-tenant environments (like Cerb Cloud).
- Added a
CERB_FEATURES_PLUGIN_LIBRARYoption to framework.config.php for enabling/disabling the Plugin Library feature in Setup. When disabled, it hides Setup->Plugins->Library, and doesn't attempt to fetch/install plugin updates during upgrades. This is useful in multi-tenant (Cerb Cloud) or intranet environments where the available plugins are curated manually, and potentially shared locally between multiple instances of Cerb. This is also useful in highly secure environments that want to prevent Cerb from downloading automatic code updates in a more user friendly way (currently these outgoing connections can just be firewalled).
- Added an
APP_SMARTY_COMPILE_USE_SUBDIRSoption to framework.config.php to toggle whether the template compile cache uses subdirectories for hashing (in ./storage/tmp/templates_c/). Enabling this option is more efficient than having thousands of cache files in a single directory.
- Previously, Cerb checked the contents of the
storage/_versionfile to detect changes to the underlying files (i.e. upgrades). This file just contained the numeric
APP_BUILDas of the last time the upgrade process ran. Some OSes cached this content, but it could be inefficient when constantly loaded from distributed filesystems like NFS. This file has been renamed to
storage/version.phpso that it can be cached in shared memory via PHP opcache. It is recommend that the corresponding setting in
opcache.enable_file_override=1) is also set to make the
file_exists()checks more efficient.
- The
DevblocksPlatform::redirectURL()methods now accept an optional
$wait_secsargument that intentionally delays the redirect. This is particularly useful in distributed environments where a change needs to be replicated for consistency (e.g. new sessions).
- Added the option
APP_DB_OPT_READ_MASTER_AFTER_WRITEto framework.config.php. This toggles 'master read-after-write' functionality to combat latency in read replicas when using read/write splitting for database queries. Previously, if a read replica was behind, then the UI could appear to be ignoring worker actions for a brief time. For example, several tickets could be selected in a worklist and then marked closed (writing to master), and when the worklist instantly refreshes those tickets could still appear open (reading from an eventually consistent replica). A subsequent manual refresh in this situation would show the current state of the data. This lag is only apparent to the worker who initiated an action, and not other workers who may see old data that's less than a second behind the master. This situation is more common when read replicas are distributed geographically away from the master with relatively slower network access. However, Cerb pages can load so quickly (tens of milliseconds or less), and read replicas can become busy with expensive queries no matter where they're located, so it was possible for this situation to occur anywhere. When this option is set to any non-zero integer value, reads will be redirected to the master following a write for that number of seconds within the current session. If a volatile memory cache is being used (Redis/Memcache vs disk), then reads in other requests (Ajax) will also be redirected to the master for the configured duration. The
_DevblocksDatabaseManager::OPT_NO_READ_AFTER_WRITEflag passed to
::ExecuteMaster($sql,$bits)bypasses this behavior for writes that tolerate eventual consistency. This option is disabled by default.
- Added a
APP_SMARTY_COMPILE_PATH_MULTI_TENANToption to framework.config.php for multi-tenant environments that share a single Smarty
templates_ccompile cache. When true, Cerb won't flush the template compile cache during upgrades or when enabling/disabling plugins. The default is false, which doesn't change Cerb's long-time behavior (these caches are flushed in several situations).
- Added a
APP_SMARTY_SANDBOX_COMPILE_PATHoption to
framework.config.phpfor multi-tenant environments. This allows each tenant to have their own template compile directory; ideally on a shared filesystem, which solves issues with templates being out of sync across multiple web servers.
- Cerb no longer directly reads from the
$_SERVER['REMOTE_ADDR']value from multiple places. The
DevblocksPlatform::getClientIp()method now returns the client's IP. When multiple load balancers and proxies are involved, it's possible for multiple client IPs to be available (based on
X-Forwarded-For), and Cerb now selects the appropriate one in these conditions.
- [CHD-4311] The
DEVBLOCKS_HTTP_PROXYoption in
framework.config.phpnow configures a proxy for all outgoing HTTP requests. By default this uses an HTTP forward proxy, but the value can be prefixed with
socks5://to use a SOCKS5 server instead. This allows networked Cerb functionality to work behind a proxy: Virtual Attendant behaviors, Plugin Library, Widget datasources, avatar image URLs, Elasticsearch, etc.
- When using the PHP
open_basedirsetting, the logs complained about
CURLOPT_FOLLOW_LOCATIONnot being available. We now handle following redirects in Devblocks.
Added a
/debug/status page with stats in JSON format. This is useful for monitoring a Cerb instance.
- Added
DevblocksPlatform::setRegistryKey($key, $value, $as, $persist)and
DevblocksPlatform::getRegistryKey($key, $as, $default)methods for simpler access to the registry service.
- The Devblocks registry service now supports JSON as an object type. This can be used to store complex nested objects with automatic JSON encoding and decoding.
- Patched the S3 library to support infrequent access (IA) objects and security tokens for temporary credentials.
- Added the jquery.visible plugin to the platform. This detects whether a UI element is visible within the browser viewport or not.
- Added the FineDiff library (by Raymond Hill, MIT license) to the platform. This makes it easy to create "diffs" for comparing historical revisions to blocks of text (like knowledgebase articles).
- Added a new ImpEx (Import/Export) tool to install/extras/impex/. The previous ImpEx tool was a separate project written in Java. This is written in PHP and is used from the command line. This makes the contribution of new export drivers much simpler.
Maintenance updates
Cerb (7.2.1) is a maintenance update released on August 15, 2016; it contains 12 features, fixes, and usability enhancements from community feedback covering the recent 7.2 update. You can follow these instructions to upgrade.
- [Cards/Delete] Fixed an issue with some card popups not refreshing their underlying worklist after deleting a record.
- [CHD-4417] [Cards/Opportunities] Implemented card popups for opportunity records.
- [CHD-4344] [Setup/Workers/Usability] Added quick search to the worklist on Setup->Workers.
- [CHD-4420] [Setup/Cards] In Setup->Configure->Cards, there's now a 'Save Changes' button, since the auto-save was confusing users and leading them to believe nothing was happening.
- [CHD-4427] [Platform/Maint] Completed bulk update batch records are now removed after 1 week during nightly maintenance.
- [CHD-1801] [Worklists/Orgs/Bulk] Multiple organization records may be deleted using bulk update.
- [CHD-4275] [Worklists/Contacts/Bulk] Multiple contact records may be deleted by admins using bulk update.
- [Worklists/Tasks/Bulk/Usability] When using bulk update on a task worklist, the desired actions are now selected with a checkbox before their options display. This simplifies the form and also allows for actions that don't have a 'blank' state (like a slider).
- [CHD-4426] [Worklists/Tasks/Bulk] When using bulk update on a task worklist, the 'importance' field can now be set.
- [Worklists/Tickets/Bulk/Usability] When using bulk update on a ticket worklist, the desired actions are now selected with a checkbox before their options display. This simplifies the form and also allows for actions that don't have a 'blank' state (like a slider).
- [CHD-4426] [Worklists/Tickets/Bulk] When using bulk update on a ticket worklist, the 'importance' field can now be set.
- [Cards/Group/Bucket] Fixed an issue on group and bucket cards where the ticket count buttons didn't filter their searches properly.
Cerb (7.2.2) is a maintenance update released on August 26, 2016; it contains 18 fixes and minor features from community feedback covering the recent 7.2 update. You can follow these instructions to upgrade.
- [CHD-4434] [Setup/Portals] Fixed an issue where the community portal cache wasn't refreshing after a new portal was created.
- [CHD-4433] [Mail/Attachments] Fixed an issue where non-members couldn't view the attachments of a public group.
- [CHD-4435] [Profiles/Links/Buckets] Fixed an issue on the 'Links' tab of a profile. If specific buckets were linked to a record, the worklist didn't filter to only those linked buckets.
- [Platform] Fixed some compatibility issues with the latest versions of PHP7.
- [Bots/Variables] Fixed an issue in Virtual Attendants with the 'Set variable' action when using the quick search option. Editing the action wasn't showing the current value.
- [Worklists/Tickets/Bulk] Fixed an issue with bulk update on ticket worklists where the 'Move' option was being ignored.
- [CHD-4440] [Placeholders/Menus] Fixed an issue with placeholder chooser menus where some custom field placeholders weren't listed. This occurred when a shorter placeholder wholly existed in the path of a longer placeholder. For instance: "IT -> Department" and "IT -> Department -> Priority". In this situation, the shorter placeholder was treated as only an expansion submenu for the longer placeholder. Now the shorter placeholder is both clickable and a submenu. The fact it is clickable is denoted by a bold label.
- [CHD-4437] [Worklists/Ticket] Added a 'worker.replied:' quick search filter to ticket worklists. This returns tickets where any of the given workers wrote at least one outgoing message on the conversation.
- [Worklists/Ticket] Added a 'worker.commented:' quick search filter to ticket worklists. This returns tickets where any of the given workers wrote at least one comment on the conversation.
- [Worklists/Messages] Implemented the 'Ticket ID' filter on message worklists. This previously showed up in the filter list but didn't provide any options.
- [CHD-4436] [Worklists/Messages] Message worklists can now be subtotaled by ticket ID or mask.
- [CHD-4442] [API/Comments] Fixed a bug that prevented comments from being created properly through the REST API.
- [CHD-4432] [Worklists/Export] When exporting a worklist, the configured fields on that record's card will be automatically selected as the defaults.
- [CHD-4377] [Web-API/Comments/Attachments] In the REST API, 'expand=attachments' will return an array of attachments for comment objects.
- [CHD-4377] [Web-API/Messages/Attachments] In the REST API, 'expand=attachments' will return an array of attachments for message objects.
- [CHD-4428] [Bots/Outcomes/Usability] When editing a Virtual Attendant behavior outcome, the available conditions are now displayed in nested menus rather than a huge list. This makes it much faster and simpler to work with.
- [CHD-4428] [Bots/Actions/Usability] When editing a Virtual Attendant behavior action, the available actions are now displayed in nested menus rather than a huge list. This makes it much faster and simpler to work with.
- [Bots] Fixed an issue where some custom field based outcomes weren't being tested properly if they were deeply nested.
Cerb (7.2.3) is a maintenance update released on October 28, 2016; it contains 18 fixes and minor features from community feedback covering the recent 7.2 update. You can follow these instructions to upgrade.
- [Platform/OAuth] Added an OAuth service to the Devblocks platform to remove the 'oauth' PHP extension requirement in many plugins. Additionally, PHP's oauth extension doesn't support proxies for outgoing connections, and our library does.
- [Search/Elasticsearch/Performance] When using Elasticsearch for search, the 'filter_path' optional parameter is now used to reduce the size of the JSON response. This uses fewer resources (including bandwidth) and provides a minor performance improvement.
- [Records/Owners] Fixed an issue where some task and ticket records could be left owned by a previously deleted worker.
- [Mail/Reply] Fixed an issue when replying to a ticket with an invalid owner. This caused the 'waiting' spinner to display indefinitely.
- [Platform/Seats] When an idle worker session is logged out to free up a seat for a new login, its idle time is now recorded along with the activity log entry for later analysis. This is helpful for tuning the seat count on large environments with many more workers than seats.
- [Code Cleanup] Fixed a PHP7 error in widgets. The 'continue' keyword was being used rather than 'return'.
- [Mail/Usability] The compose popup now uses 75% screen width when opened from an address, contact, or organization card.
- [CHD-4482] [Dashboards/Widgets/Charts] Fixed an issue on chart widgets where worklist-derived results could be truncated when using the 'count' function on the y-axis. This happened on record types where the first numeric column was a custom field. The custom field was improperly being added as a filter to the results (which would be proper for sum/average/min/max/etc), so only records with a value for that field were returned.
- [CHD-4474] [API/Tickets] In the REST API, using /tickets/compose, the 'to' parameter is now optional. It's acceptable in Cerb to create an internal ticket with no recipients.
- [CHD-4481] [Mail/Parser] Added more error checking to the email parser to verify that each MIME part is properly formed. This may address some segfaults in PHP7 w/ Mailparse 3.0.1.
- [Virtual Attendants] Fixed an issue with the 'dict_set' function in Virtual Attendant scripts. This was always converting arrays into objects. Arrays are properly handled now.
- [Maintenance/Attachments] Fixed a very rare issue in the maintenance scheduler for attachments. If the database rejected DELETE queries but allowed CREATE TEMPORARY TABLE and SELECT, it was possible for maintenance to delete way more attachments from storage than it should have.
- [Developers/Platform] The DevblocksPlatform::strToRegExp() helper now accepts arguments for $escape and $wrap. Escape specifies whether the given argument should be auto-escaped. Wrap specifies whether the returned regexp should have pattern delimiters automatically added. These options both default to true (the previous behavior).
- [CHD-4484] [Support Center/History] Fixed an issue in the Support Center portal. The filters on the ticket history worklist weren't displaying properly.
- [Scheduler/Import] Fixed an issue with imports in XML format. If there was extra whitespace in the <headers> element then Cerb returned an error about not being able to find the sender address.
- [CHD-4456] [Cards/Custom Fields] When displaying a worker-based custom field on a card (e.g. "Account Rep" on org records), the worker's name is now properly displayed and clicking it opens their card. Previously, this was unhelpfully only displaying the worker's ID.
- [CHD-4466] [Setup/Snippets] Added back the Setup->Configure->Snippets page for administrators. This allows the management of all snippets regardless of owner (including private worker-owned snippets).
- [Snippets] When deleting a record, their snippets are now properly removed as well.
Cerb (7.2.4) is a maintenance update released on December 5, 2016; it contains 11 fixes and minor features from community feedback covering the recent 7.2 update. You can follow these instructions to upgrade.
- [Web-API/Contacts] Added contacts to the REST-based Web API. Contact records can be created, modified, searched, and deleted. See: http://cerbweb.com/book/latest/developer_guide/rest_api/contacts.html
- [CHD-4373] [Bots/Scripts] Added a 'parse_emails' filter to bot scripts. This takes a delimited string of email addresses in RFC-5322/2822 format (e.g. from a 'To:' header) and converts them into a validated array of objects. Each object has members for: full_email, email, mailbox, host, and personal.
- [Worklists/Tickets/Performance] When using the 'participants:' and 'sender:' quick search filters, the default is now an exact match rather than a wildcard suffix. This should improve performance in the most common use case.
- [Platform/Update] Fixed an issue in some environments that prevented /update from redirecting back to Cerb when finished. This had to do with PHP7 functionality changes.
- [Platform/Hostname] Added an APP_HOSTNAME option to framework.config.php which controls the hostname used for all generated URLs. Normally the hostname is automatically detected from the server environment, but in some situations (e.g. proxies and load balancers) an administrator may want to override this. In Cerb Cloud, all instances are hosted as *.cerb.me subdomains, and many clients have CNAMEs for custom URLs. When the scheduler runs, the *.cerb.me domain is used for URLs in placeholders and notifications, and a cookie session often doesn't exist for that hostname. This option allows URLs to be generated using a CNAME regardless of the hostname used to access the site.
- [PHP7] Fixed an issue with PHP7 and the mailparse extension in Setup->Mail->Failed.
- [MySQL] Fixed an issue in the /update patcher with MySQL 5.7+ when 'only_full_group_by' is in the sql_mode. Prior to MySQL 5.7.5, the alias of an aggregated column can't appear in a HAVING statement. On fresh installations, this was causing a blank page in the middle of the installer that required a page refresh to continue.
- [CHD-4476] [Portals/Templates] Fixed an issue with community portals where changes to custom templates weren't reflected in real-time. The cached template wasn't invalidating properly in some environments.
- [MySQL] Fixed more issues with MySQL 5.7 due to the new 'only_full_group_by' default in the 'sql_mode' option. This was causing some reports, subtotals, and dashboard widgets to break.
- [Calendars/Events] Fixed an issue on calendars where some zero duration events weren't displayed properly.
- [Worklists/Search/MySQL] Increased the maximum results in MySQL Fulltext searches to 10,000 (from 1,000).
Cerb (7.2.5) is a maintenance update released on January 9, 2017; it contains 26 fixes and minor features from community feedback covering the 7.2 update. You can follow these instructions to upgrade.
- [Worklists/Search] Fixed an issue with searching message content from ticket worklists. A ticket could be duplicated in the search results for as many of its messages matched the search term. Due to paging in the worklist, this could lead to far fewer matches being displayed than were actually returned.
- [Worklists/Search] Fixed an issue that prevented the 'msgs.notes:' quick search filter from returning results on ticket worklists.
- [Worklists/Search/Elasticsearch] Fixed an issue with Elasticsearch integration where cached results were always treated as a large collection (using a less efficient "JOIN") even if they contained a small number of IDs that could be handled more efficiently with a "WHERE id IN(...)".
- [Worklists/Search] Added an 'id:' quick search filter to bucket worklists.
- [Worklists/Search] Added an 'id:' quick search filter to calendar event worklists.
- [Worklists/Search] Added an 'id:' quick search filter to task worklists.
- [Setup/Bots] Fixed an issue in Setup where Bots->Search wouldn't be remembered as the last viewed page when clicking the 'Setup' link again.
- [Worklists/Search] Added an 'id:' quick search filter to activity log worklists.
- [Worklists/Search] Added an 'id:' quick search filter to worker worklists.
- [Worklists/Search] Added an 'id:' quick search filter to contact worklists.
- [Worklists/Search] Added an 'id:' quick search filter to organization worklists.
- [Worklists/Search] Added an 'id:' quick search filter to custom fieldset worklists.
- [Worklists/Search] Added an 'id:' quick search filter to file bundle worklists.
- [Worklists/Search] Added an 'id:' quick search filter to message worklists.
- [Worklists/Search] Added a 'worker.id:' quick search filter to message worklists.
- [Worklists/Search] Added a 'group.id:' quick search filter to message worklists.
- [Worklists/Search] Added an 'id:' quick search filter to snippet worklists.
- [Worklists/Search] Added an 'id:' quick search filter to opportunity worklists.
- [Worklists/Search] Added an 'id:' quick search filter to feedback worklists.
- [Worklists/Search] Added an 'id:' quick search filter to knowledgebase article worklists.
- [Worklists/Search/Workers] Fixed an issue that prevented worker full names from search indexing properly.
- [CHD-4513] [Mail/Usability] When writing email in Markdown mode, clicking the 'Link' button now prompts for a URL rather than inserting "example.com" placeholder text.
- [Bots/Simulator] Fixed an issue in the bot behavior simulator where the decision tree wasn't rendered properly after backporting a fix to 7.2.x from 7.3.
- [Cards/Groups] Fixed an issue on group cards where the counts were displayed incorrectly on the search buttons for open, waiting, and closed tickets.
- [Worklists/Quick Search] Fixed an issue with quick search on worklists where a fulltext filter didn't always work if it was the last term following at least one field.
- [Search/Messages] Fixed an issue with permissions on message worklists.


text:
TobyMac Christmas Gift Pack 3CD
by TobyMac;
Free UK delivery when you spend £10 or more
Price and PurchaseOffer price: £14.99 Free UK Delivery
TobyMac Christmas Gift Pack 3CD
Full Product Description
With over 11 Million Units in career sales and six grammy awards, TobyMac shows no signs of slowing down as he delivers a deeply personal record that celebrates the richness that comes from collaboration, diversity and vulnerability.
CD 1 Portable Sounds (Released 2007)
CD 2 Tonight (Released 2010)
CD 3 Christmas in Diversity (Released 2011)
TobyMac Christmas Gift Pack 3CD by TobyMac was published by EMI in October 2013 and is our 17499th best seller. The ISBN for TobyMac Christmas Gift Pack 3CD is 5099972376225.
Reviews of TobyMac Christmas Gift Pack 3CD
Customer reviews and testimonials Write a review
Product Q&A
Got a question? No problem! Just click here to ask us about TobyMac Christmas Gift Pack 3CD.
Related Departments
This product is also listed in the following departments:
- Praise, Worship & Gospel Christmas Music department
- Christian Bands department under TobyMac
- Christian Bands department under TobyMac
CD Track Listing and Samples
Disc 1
1 Tonight - John Cooper
2 Get Back Up
3 Funky Jesus Music - Beckah Shae
4 City On Our Knees
5 ShowStopper
6 Changed Forever - Nirva Ready
7 Hold On
8 Loud n Clear (TruDog '10)
9 Hey Devil
10 Wonderin' - Matt Thiessen
11 Captured
12 Start Somewhere
13 Break Open The Sky
Disc 2
1 One World
2 Made To Love
3 Boomin'/Opera Trip Interlude
4 I'm For You
5 Face Of The Earth/Chuck @ Artist Development Interlude
6 No Ordinary Love
7 Ignition
8 Hype Man (truDog '07)
9 Suddenly
10 All In/Mr. Talkbox Interlude
11 Feelin' So Fly
12 No Signal
13 Lose My Soul
Disc 3
1 Christmas This Year
2 The First Noel - Owl City
3 Mary's Boy Child - Jamie Grace
4 O Come All Ye Faithful
5 Little Drummer Boy
6 This Christmas (Father of the Fatherless)
7 Carol Of The Kings
8 Birth of Love
9 What Child Is This
10 It Snowed
11 Angels We Have Heard On High
12 Santa'scomin'baka'round!
13 Christmas Time
Details for TobyMac Christmas Gift Pack 3CD
|Page last updated
|21st August 2017
|Author / Artist
|EMI (October 2013)
|Product Code

subset: commoncrawl


text:
Cute interactive crib toy for baby.
Brand Name: Green Baby
Gender: Unisex
Warning: no fire
Age Range: 0-12 Months
Age Range: 13-24 Months
Age Range:
Material: Plush
Features: Musical
Features: Soft
Dimensions: about 90cm long
Shape: Cartoon
Package: plastic bag
toys for tots: mobile bed
the crib mobile: toys for babies to bed hanging
bed baby educational toys: mobile
baby toys: carts in bed
children's toys: crib toys
an educational children's toy: babies toys
rattles: toy baby
Kids toys: mobility in the crib
mobile baby: mobility
baby toy: baby mobile
Tweet Now!
Your discount code: Y92IC12E1NF1


text:
Photo Gallery - Listing ID 4832485
- Listing Price: $985,000
- Status: Active
- Address: 5329 Interlachen Boulevard
- Edina, Minnesota 55436
- Bedrooms: 5
- Full Baths: 3
- Total Baths: 4
- Acres: 0.162
- Square Feet: 4,217
"Urban Farmhouse" front elevation - there is still time to customize selections and design!
Main floor featuring a gas fireplace and built-ins, a large mudroom with drop-zone/study, and a well-appointed kitchen with walkthrough to formal dining.
Upper level has optional loft space - current plan is to build with 4 bedrooms up. Master bath features walk-in shower, soaking tub, large closet with built-in dresser....functional and beautiful design!
Lower level with an additional bedroom and bath, as well as a billiards area and wet bar!
Proposed front elevation
Data services provided by IDX Broker


text:
An inspirational music video from Nacee to lift your soul and give you hope. With God you have all thing at your disposal. Ye Wo Nyame Yewo Adze" (With God we have everything). A must watch. https://youtu.be/oBRFW9ezvnE … [Read more...]
Nacee release a video to "Yewo Nyame A Yewo Adze"
August 26, 2016 by Leave a Comment
How to win the VGMA|ATOM
June 22, 2016 by Leave a Comment
The Yewo Krom fame, Atom disclose the trick to winning the VGMA. How he spent ghc3000 on air time to support his 69% lead over his peers. His comments below: "I was confident I would win that particular category because I was doing my part to make sure I win the bid. In-fact I told myself that … [Read more...]


text:
Coming off the detox, I slowly started eating warm vegetable soup. At the end of the program, I lost….
With a spouse, kids, work, and other activities going on in your life, sometimes your personal health takes a back seat to everything else. Going to the gym every day and maybe….
A detox regimen promotes a stronger immune system, mental clarity, and improved blood circulation. The benefits are endless! The detox I chose was the twenty day DHERBS Full Body Cleanse which consists of
People have flocked to a diet called the Paleo Diet. This diet plan became a fad in the mid-70s and has recently regained popularity in the U.S.


text:
Filter Results:
- Full text PDF available (0)
Publication Year
- This year (0)
- Last 5 years (3)
- Last 10 years (4)
Publication Type
Publication Venue
Learn More
- S Sparks, A Kaplan, M DeCambre, G Kaplan, N Holmes
- Journal of pediatric urology
- 2013
PURPOSE Eosinophilic cystitis is a rarely seen condition in the pediatric population with indistinct symptomatology and non-standardized treatment protocols. We review our experience of treating patients with this condition. MATERIALS AND METHODS We retrospectively reviewed the records of four patients from a single institution who have been diagnosed and… (More)
- Sarah Marietti, Jeffrey Woldrich, Jason Durbin, Scott Sparks, George Kaplan, George Chiang
- Journal of pediatric urology
- 2013
OBJECTIVES (1) Determine the number of urologic conditions diagnosed by computed tomography (CT) in children in the emergency department setting. (2) Identify which diagnoses were incidental. (3) Determine how often there was urologic follow-up by a local pediatric urologist. PATIENTS AND METHODS We reviewed the charts and radiologist interpretations of… (More)
- S Sparks
- Science
- 1997
- The Journal of the American Osteopathic…
- 1946
- Scott Sparks, Bernarda Viteri, Bruce M Sprague, H Gil Rushton, Hans G Pohl, Massoud Majd
- The Journal of urology
- 2013
PURPOSE We analyzed preoperative and postoperative differential renal function and characterized the renographic findings in patients with ureteropelvic junction obstruction associated with Dietl crisis. MATERIALS AND METHODS Patients with Dietl crisis who underwent pyeloplasty between January 2004 and December 2010 were classified by renographic… (More)
- Scott Sparks, Marvalyn Decambre, Matthew Christman, George Kaplan, Nicholas Holmes
- The Journal of urology
- 2011
PURPOSE Ureteroneocystostomy after dextranomer/hyaluronic acid injection is reportedly associated with significantly more morbidity, and increased operative time, length of stay and postoperative obstruction. To evaluate our experience, we reviewed results of patients who underwent salvage ureteral reimplantation following failed dextranomer/hyaluronic acid… (More)
- ‹
- 1
- ›


text:
User talk:PoliticsMN
Our first steps tour and our frequently asked questions will help you a lot after registration. They explain how to customize the interface (for example the language), how to upload files and our basic licensing policy (Wikimedia Commons only accepts free content). You don't need technical skills in order to contribute here. Be bold contributing here and assume good faith for the intentions of others. This is a wiki—it is really easy.
Getting help
More information is available at the community portal. You may ask questions at the help desk, village pump or on IRC channel #wikimedia-commons (webchat). You can also contact an administrator on their talk page. If you have a specific copyright question, ask at the copyright village pump.
-- Wikimedia Commons Welcome (talk) 19:51, 9 July 2013 (UTC)
File:Jeff Johnson, Candidate for Governor of Minnesota.jpg[edit]
|File:Jeff Johnson, Candidate for Governor of Minnesota.jpg has been listed at Commons:Deletion requests so that the community can discuss whether it should be kept or not. We would appreciate it if you could go to voice your opinion about this at its entry.
If you created this file, please note that the fact that it has been proposed for deletion does not necessarily mean that we do not value your kind contribution. It simply means that one person believes that there is some specific problem with it, such as a copyright issue.
Jonathunder (talk) 12:24, 25 July 2013 (UTC)


text:
Java Jre 1.4 2 06 Download
Bug Fixes BugId Category Subcategory Description 6771432 java classes_net createSocket() - smpatch fails using 1.6.0_10 because of "Unconnected sockets not implemented" Changes in 1.4.2_26-rev-b07 Bug Fixes BugId Category Subcategory Description The JVM is a crucial component of the Java platform. Red Hat Enterprise Linux 5.4 support for JFB was introduced in 1.4.2_23. J2SE 1.4 adds new features and functionality, enhanced performance and scalability, and improved reliability and serviceability. » Download J2SE 1.4.2. http://analysedesgeeks.com/java-2/java-jre-1-4-2-download.html
For more information, refer to Timezone Data Versions in the JRE Software . to exclude a method from hotspot compilation), an unsupported behavioral option has been provided to simulate the old loading behavior. But note that doing so will remove the 1.4.2 Java Web Start cache, which stores the Java Web Start application data. Use the Microsoft Windows Add/Remove Programs utility, accessible from the Control Panel (Start -> Settings -> Control Panel). 3. Visit Website
Java 2 Runtime Environment Download
It's also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing. Command line options to support old behavior: -XX:Flags=.hotspotrc will revert to old behavior for .hotspotrc. -XX:CompileCommandFile=.hotspot_compiler for the .hotspot_compiler file. Oracle Enterprise Linux 5.4 support for JFB was introduced in 1.4.2_26. Windows 7 support was introduced in 1.4.2_23.
Looking for an Older Release? In addition, the string "fb" was removed from the bundle name (the file name of the installer). For more information, refer to Timezone Data Versions in the JRE Software. Java Runtime Environment 1.4.0 Free Download Reply to this review Was this review helpful? (0) (0) Report this post Email this post Permalink to this post Results 1–10 of 163 1 2 3 ... 17
OlsonData 2010i This release contains Olson time zone data version 2010i. Java 1.4.2 Free Download For Windows 7 SummaryI would recommend anyone to download this software, as it seems to make your computer run better and eliminates some problems that might occur if you don't have it up and Support for Red Hat Enterprise Linux 5.0 and 5.3 was added in 1.4.2_21. This option starts the installation process by downloading and executing the file j2re-1_4_2_
Reply to this review Was this review helpful? (1) (0) Report this post Email this post Permalink to this post 5 stars "popup gone!" October 04, 2013 | By Java 2 Runtime Environment Se V1.4.2 Download Welcome Account Sign Out Sign In/Register Help Products Solutions Downloads Store Support Training Partners About OTN Oracle Technology Network Java Java SE Java SE Java EE Java ME Java SE Support Auto Update behavior may be unpredictable if this revision is co-installed with any other Java SE implementation (Java for Business or Java SE) that does not have the auto update scheduler Reply to this review Was this review helpful? (0) (0) Report this post Email this post Permalink to this post 3 stars "Java updates are getting really annoying" September
Java 1.4.2 Free Download For Windows 7
Root Certificates There are no updates to Root Certificates in this release. As a workaround, RMI servers can set the java.rmi.server.codebase property to use codebase URLs other than the "file:" scheme for the objects they export. Java 2 Runtime Environment Download Thank You for Submitting a Reply, ! Java 1.4 Free Download For more information, see Oracle Java SE Critical Patch Update Advisory.
Root Certificates Added new Entrust Root CA-G2 and updated Entrust.net CA (2048) root certificates. (Refer to 6959911.) Bug Fixes This release contains fixes for security vulnerabilities. http://analysedesgeeks.com/java-2/java-2-platform-se-v1-4-2-download.html For more information, please see Oracle Java SE and Java for Business Critical Patch Update advisory. For more information, please see Oracle Java SE Critical Patch Update advisory. Your message has been reported and will be reviewed by our staff. Java 2 Sdk Download
Window managers are supposed to honor the initial state when the window is mapped for the first time. The external version number is 1.4.2_28. Does what it's suppose to do, and that's a plus IMHO. weblink Bug Fixes Bug fixes are listed in the following table.
Changes in 1.4.2_24 The full internal version number for this update release is 1.4.2_24-b04 (where "b" means "build"). Java 1.4 Release Date The file extension is jnlp; MIME Type is application/x-java-jnlp-file. The download page provides the following two choices of installation.
Download now.
Summary: (optional)Count: 0 of 1,500 characters Add Your Review The posting of advertisements, profanity, or personal attacks is prohibited.Click here to review our site terms of use. Java Naming and Directory Interface (JNDI) API behavior Change The behavior of the JNDI feature to store and retrieve Java objects in an LDAP directory has been slightly modified. Previous releases have separate uninstallers for Java Web Start. Sun Java Version 1.4 Download Refer also to CR 6831124 for further information.
Bug Fixes This release contains fixes for security vulnerabilities. Look for a Java Web Start icon on your desktop. E-mail this page Printer View Oracle Cloud Learn About Oracle Cloud Computing Get a Free Trial Learn About DaaS Learn About SaaS Learn About PaaS Learn About IaaS Learn About http://analysedesgeeks.com/java-2/java-runtime-1-4-2-11-download.html Important Notice!
Customers are encouraged to migrate today. » Read More Release 1.4 of the Java 2 Platform, Standard Edition (J2SE) represents an advance from J2SE 1.3. Red Hat Enterprise Linux 5.5 support for JFB was introduced in 1.4.2_26. Olson Data 2012c This release contains Olson time zone data version 2012c. JavaFX version 2.2.79.
Changes in 1.4.2_18-rev-b13 Bug Fixes BugId Category Subcategory Description 4823811 java classes_text [Fmt-Da] SimpleDateFormat patterns don't allow embedding of some literal punctuation 6764308 java classes_util_i18n (tz) Support tzdata2008i Changes Olson Data 2012c This release contains Olson time zone data version 2012c. For more information, refer to Timezone Data Versions in the JRE Software . Plus Java tries to get the user to download the Ask toolbar and such.
Other Bug Fixes BugId Category Subcategory Description 6959911 java classes_security Update Entrust.net CA (2048) root and add new Entrust Root CA-G2 6960997 java classes_util Locales issue: shows different default locales when Other bug fixes are listed in the following table. Oracle recommends using latest updates levels and OVM versions available. Conformance Issue on SUSE Linux Enterprise Server 11 (SLES 11) Java SE 1.4.2 does not conform to specification due to a bug in SLES 11.
Root Certificates Added three new root certificates, removed three root certificates and five root certificates replaced with stronger signature algorithms from VeriSign, Thawte and GeoTrust. (Refer to 6904162.) Ensuring Application


text:
April showers bring May flowers! As I sat down to write this post I could not help but think of this scene from, "The Devil Wears Prada" and giggle. So maybe not groundbreaking, but flowers
Spring has sprung! We are officially a week into Spring and in Dallas the weather has swung from 90 to 5o, sunny to pouring rain to golf ball sized hail last night! Lots of broken windows and


text:
I first experienced the problem on Nov 19th, then again on the 20th and just verified today (the 21st) that it has not yet been corrected.Three different machines in two physical Flag Permalink This was helpful (0) Collapse - videos will not play correctly by pwag68 / June 16, 2008 4:36 AM PDT In reply to: Try this I use Windows XP These products are no longer actively supported by Microsoft. SHOW ME NOW © CBS Interactive Inc. / All Rights Reserved. http://brrian.net/windows-xp/unable-to-download-updates-windows-xp.html
Other people don't seem to have this problem with the same video. Finally, others have reported that Windows Update is also failing on server versions of Windows. To resolve this problem, use one of the following methods: Resolution 1: Register the wups2.dll file in Windows XP To register the wups2.dll file in Windows, perform the following steps: 1. Support for Windows Update is offered by email.
Click OK on each verification message that you receive. 3. Clear the cache and cookies of the browser you are using. I opted to try cloning the old drive since the new one came formatted and blank.
To do this, follow these steps: a. To do this, follow these steps: a. by Jeff Bakalar Close Drag CNET © CBS Interactive Inc. / All Rights Reserved. Windows Xp Windows Update Page Cannot Be Displayed Almost everything except the case and the floppy drive got updated with new equipment.
Good news: Microsoft offers free technical support for Windows Update and that support provided a solution to my problem. Windows Xp Windows Update Not Working Update anything you use that's FREE. Trump's tariff threat may speed cloud adoption President-elect Donald Trump's threat to impose tariffs on goods manufactured in Mexico and offshore... Resolution 4: Ensure that the latest Windows Installer package is installed Windows Installer 3.1 v2 (3.1.4000.2435) is available (official package from Microsoft) for the following Windows operating systems: Microsoft Windows 2000
If that doesn't work, use the Troubleshooter to try solve the problem." try the following steps: If you are uncomfortable performing this procedure, please contact the Help Desk. Windows Xp Updates Downloads I checked four XP machines and in each case the file had almost no data and hadn't been updated in a long time. Update: A reader named Joseph pointed out that this is from an older version of Windows Update.(July 27, 2008) But the other log file, "WindowsUpdate.log" is a gold mine of information (this I don't have Internet Explorer 7 installed, I use IE6.Get the Latest Java from here.http://java.com/en/download/index.jspDownload and run this program.
Disruptive posting: Flaming or offending other usersIllegal activities: Promote cracked software, or other illegal contentOffensive: Sexually explicit or offensive languageSpam: Advertisements or commercial links Submit report Cancel report Track this discussion https://support.microsoft.com/en-us/kb/555461 Flag Permalink This was helpful (0) Collapse - Glad you got it fixed by PudgyOne / December 27, 2007 1:16 PM PST In reply to: Reply to Rick (PudgyOne) Thanks for Where Is Windows Update In Xp Loads of kisses from me XXXXXXXXX Em. Windows Update Xp Download Start the two services That's the good news.The bad news is that this only works for one go-round with Windows Update.
Also, Microsoft continues to update their Malicious Software Removal Tool for Windows XP every month.Most likely, this is a bug rather than an intentional action by Microsoft. For one thing, Windows Update http://brrian.net/windows-xp/unable-to-download-microsoft-updates-xp.html Continue to site » Updates fail when using Windows XP Update after a new Windows XP installation or repair Windows Update fails with Windows XP SP3 The Problem: When you install Sorry There was an error emailing this page. Exit the command prompt. Windows Xp Update Page Cannot Be Displayed
It worked.Mo Flag Permalink This was helpful (0) Collapse - Thank U very much.............! Reason: The original Windows XP installation CD does not have the new wups2.dll file present. About CNET Privacy Policy Ad Choice Terms of Use Mobile User Agreement Help Center Connect with us facebook twitter CNET Reviews Top Categories Best Products CNET 100 Appliances Audio Cameras Cars his comment is here The error message simply referred to "a problem on your computer".
You're THE BEST! Download Windows Xp Updates Manually Register the Wups2.dll file. Thanks again.
Success.-;) Flag Permalink This was helpful (0) Collapse - Windows XP: Problem - Windows XP updates will downlaod but n by gmternes / January 12, 2008 10:43 AM PST In reply If you believe this post is offensive or violates the CNET Forums' Usage policies, you can report it below (this will not automatically remove the post). The old HD was set a the C: Drive and the new one temporarily was designated D:. Windows Xp Update Free Download The same trick did nothing on the other two machines. A number of search engine provided fixes did not work for me.
After rebooting, run Windows Update immediately to get the patch shown below Update July 27, 2008: After installing XP SP3 and all the subsequent patches on three more computers, my best WOOOHOOO!!! I don't know what the heck I was reading. weblink How to get more from your security budget Review: Threat hunting turns the tables on attackers Five rock-solid Linux distros for developers Must-have devops tools for Windows admins More Insider Sign
The only way I have found to circumvent it is to ignore automatic updates all together and go to the upgrades section of windows downloads and download each one individually and Should I change back to IE6--you mentioned you didn't have IE7, are there problems with that?Thanks! It restores the older Windows registry (causing loss of wup2.dll registry registration).


text:
Programs and Host Institutions : Brochure
Go to "How to Apply" for information on the application process.
Cardiff University (Outgoing Program)
Print Page Save Share
- Locations: Cardiff, United Kingdom
- Program Terms: Fall / Academic Year, Spring
- Program Sponsor: Global E³
|Disciplines Available (engineering or related field):
|Architectural, Civil, Computer, Electrical, Electronic, Electronic & Communications, Environmental, Integrated, Mechanical, Medical
|Graduate Students Accepted?:
|Courses Available in English?:


text:
Tools and Utilities
Maintain your Android Tablet with major file editing tools like Astro, ES File Explorer and much more! Download Astro File Manager and ES File Explorer.
Click on the title of this section to expand the list and show you every app in our system!
MiHome Launcher« Personalization & Tools « Downloads
|September 21, 2012
|233 times
|Personalization & Tools
MiHome Launcher ( a.k.a. 小米桌面 ) can make your Android phone easy to use and super fast! It is a major feature of MIUI, which is one of the most popular Android ROMs in the world. Now you can get these excellent experience by installing MiHome Launcher on your phone!
– Speedy & Handy Launcher
– Easy to Use: Just install and ready to go
– All-On-Home: All apps are on the homescreen
– Thousands Themes: Themes, Icon Packs and more
– Multi-Screens: Support over 10 screens
– MiLocker Inside: Unlock your phone as you like it
– Switches Widget: Change settings by one touch
– The Cool One: Fancy Homescren transition effect


text:
Pre-Cal 20S
An interactive log for students and parents in my Pre-Cal 20S class. This ongoing dialogue is as rich as YOU make it. Visit often and post your comments freely.
Added: August 17, 2008
URL: pc20s.blogspot.com
Authority: 39.9307
Language: N/a
Type: Blog
Category: Jobs & Careers
Analytics | see more
Latest Posts | read more
The Adventure Continues ...
Our adventures in blogging continue....Watch for 3 new blogs going live February 3, 2006 ...Applied Math 40S (Grade 12)Pre-Cal 40S (Winter '06) (Grade 12)Calculus 45S (Grade 12)
Coin Hunt Committee
Long time no post...Anyway, for those who put up their names in the Coin Hunt Committee, we have a meeting on Monday, at lunch. I think it's in Mr. K's room, so I'll see you all there.Cheers!
So Long ...
I'm so glad we've had this time together,Just to have a laugh or learn some math,Seems we've just got started and before you know it,Comes the time we have to say, "So Long!"So long everybody! Watch this space in February for pointers to new ...


text:
The Many Faces of γάρ (1 Cor 14:23) – Mondays with Mounce 269
We all know that a word has a range of meanings. In fact, I am not sure there is a word that only means one precise thing. And while a word may have a dominant meaning, that doesn't preclude it having secondary meanings that are sometimes used. After all, what's the point of a secondary meaning that is never used?
We also know that Greek wants to start sentences with a conjunction that indicates the relationship of the second sentence to the first.
For example, δέ can mean "and" or "but." It can also be translated by a period. After all, with the way English works, if you have two sentences in the same paragraph, we naturally read the second sentence as being in relationship to the first.
Take γάρ. Its dominant meaning is "therefore." BDAG gives this as its…


text: Gorgeous eye lashes!!! 4:41 AM Photo source: pinterest.com Hair, Nails, Makeup, Jewelry and Accessories... WE LOVE EVERYTHING ABOUT BEAUTY! You Might Also Like Love to hear what you think! [Facebook Comment For Blogger] Share This Story Share on Facebook Share on Twitter Pin this Post Tags: For girls Newer Post Older Post


text:
Archive for the 'Finance' Category
Activation Status Of UAN
uanlog.in - UAN is extraordinary PF for a representative as the UAN number is the main once you need to enroll and not each time you change your occupation.
Actyivate Your UAN Account
uanlog.in - Login to the UAN entrance and go to the initiation page. There fill all the required fields in the shape. UAN logon is valuable for the salaried workers. It is valuable simply after the actuation.
EPFO Services Login And Access
uanlog.in - The login page and the key focuses to be noted to login are point by point here. Which will help you simple login.
EPFO Login On UAN Portal
uanlog.in - EPFO has begun this UAN idea to keep up uniqueness in the PF account, notwithstanding when the individual changes the organization or employment. This uniqueness can be kept up just by clients by appending the new occupation ID with the ...
Invest In Mutual Funds In Various Ways
financenews.hatenablog.com - Before investing in mutual funds, one need to know different types of mutual funds available in the market. open-end, close end and unit investment funds are the types of funds.
House Rent Claiming Without HRA
incometaxsite.in - Don't make a mistake by leaving the house rent unclaimed. As this may decrease your tax amount. Detailed study on Section 80GG is explained with the situations i which you can claim HRD.
EPF Estimation With Some Inputs
epfmoney.in - Employer and employee are liable for each individual contribution towards PF. Employee is supposed to bear the employer's contribution of PF towards employer's PF account. These amounts vary based on the company, employee's salary.
IT Slabs Changed By Arun Jaitley
incometaxsite.in - Wage assess chunks are diminished for people with wage beneath Rs. 5 lakh. And all the rest of the section rates are as some time recently. The salary impose sections for businesses likewise diminished with various reaches for SSI and ...
Employee Support Online
epfmoney.in - EPF, worker provident reserve record is fundamental for everybody for monetary security at the retirement time. The cash in F account need to asserted. For making this asserting procedure simple, EPFO helpline is set up.
IT Returns And Mistakes To Be Avoided
incometaxsite.in - Have a glance of the common mistakes made by individuals in documenting IT. You take care of avoiding them from the initial stage of financial year.


text:
Michael Edwin Fyhrie(born December 9, 1969 in Long Beach, California) is a former professional baseball player who played 5 seasons for the New York Mets, Anaheim Angels, Chicago Cubs, and Oakland Athletics of Major League Baseball. He also pitched one season in Japan for the Chiba Lotte Marines in 2003. The following year, he played for the Hyundai Unicorns in Korea where he sported a 16-6 record with a sub-3.00 E.R.A. Currently, Fyhrie plays baseball for the SoCal MSBL (Men's Senior Baseball League) Whales.
September 14, 1996, was his start of the career with the Mets. Only spended 96 with the Mets.


text:
Kitchen sponge is maybe a stuff that we always see and purchase. If you had a couple of sponges in your kitchen, you have to keep it instead of throw it away. Why you should do this? It is because in fact kitchen sponges can do much more than just wash your dishes. Here are some innovative ways that use sponges for making many new and interesting things.
- Damp Sponge for Absorbing a Refrigerator's Odor
The first creative way is using kitchen sponge for absorbing the bad odors on your fridge. How to make it? You just need to sprinkle some baking soda in a damp sponge (this is not a wet sponge). After that, you just need to simply place it in your fridge. It will absorb the odor effectively.
- Cleaning narrow vases and containers
The second idea by using the kitchen sponges are uses them to clean the narrow vases, bottles or containers. You just need to cut small part of kitchen sponge. After that, tied it up in the end of a chopstick and it is ready to use for cleaning vases and many narrow containers.
- Kitchen Sponges for Preventing your Furniture
Is it really? Yes it is. You just need to cut the kitchen sponges into some small pieces. After that, attach these small pieces of sponges to the bottom of your decorations, the legs of your furniture or on the stands of picture frame. These small pieces of kitchen sponges will prevent you décor, furniture or picture frame from any scratches when it is moved around. It will prevent your floor from scratches as well.
- Kitchen Sponges for Gardening
What we mean here is that in fact kitchen sponge can be really useful for some plants that are planted in pot. You can cut a piece of sponge that fit properly with a pot that you will use. After that, place this piece of sponge in the bottom of a pot. This sponge will be able to soak up water and it will help the root of your plants to stay moist.
- Kitchen Sponges to make a nail polish remove jar
Yes, a kitchen sponge can be a perfect tool to remove your nail polish. To make it, you just need to prepare a small jar. Cut a piece of sponge based on the size of that jar. Place the kitchen sponge in that jar. After that, water this sponge with water or the other liquids that can be used to remove the nail polish. If you wanted to use it, you just need to put your finger on it and move it slowly until the nail police is perfectly removed.
- Soap Place
The next idea is to use a kitchen sponge as a place for your soap. You just need to place a bar soap on top of a sponge. It will dry out your bar soap quickly and making your bar soap last longer.


text:
Tag Archives: diabetes
DUI Warning for Asthma Patients
March 7, 2011 by Justin McShane
Imagine being an asthma patient for a second. You are driving along at night while you are really tired. You may swerve a bit and your reaction time is slow. Suddenly you see blue and red lights flashing in your rear-view mirror. You get nervous and start breathing fast. Since you are an asthma patient […]
read more »
Dear PA DUI Lawyer: DUI and Diabetes
October 22, 2010 by Justin McShane
Every Friday we take a look at some of the most commonly asked questions about Pennsylvania DUI so we can clear up any misconceptions and provide you with the most up-to-date and accurate information about PA DUI laws and related topics. Today: Dear PA DUI Lawyer, My mother is 54 and she was arrested yesterday […]
read more »
Do the Breath Machines Always Flag Acetone and Diabetics?
October 26, 2009 by Justin McShane
It is a national problem to be sure. It is an endemic and systemic problem. It is a problem that is pervasive and well-known within the scientific community. Yet, it is condoned. In his latest blog post, Bob Keefer, a fellow member of the National College for DUI Defense, Inc and a true trailblazer in […]


text:
|Article: Print
|Published online: July 8, 2015
Police organizations are facing increasing pressure from a variety of sources – shrinking budgets, the impact of technology, and growing public expectations. These pressures are challenging for organizations that may already be change weary or that do not welcome substantive change given the seriousness of their day-to-day work and their desire to stick with practices they know and trust. This paper examines change where change is difficult, and argues that organizations in these circumstances can change provided the right framework is available. A Sustainable Policing Framework is presented that is based on interviews with key national-level stakeholders and representatives of six municipal police services in Canada (N = 102). The framework includes a rigorous approach for assessing a police service organization's fit with its current context and a new approach to determining the value proposition it offers. The findings suggest that undertaking a compelling analysis grounded in examination of the organization's value proposition can motivate organizational change and encourage buy in and support from key stakeholders. Lessons presented are of potential interest to other essential service providers, not-for-profit organizations and the broader business community.
|Police Organizations, Performance Assessment, Strategy
Organizational Cultures: An International Journal, Volume 14, Issue 2, July 2015, pp.17-30. Article: Print (Spiral Bound). Published online: July 8, 2015 (Article: Electronic (PDF File; 567.900KB)).
Associate Professor, Department of Sociology and Anthropology, Carleton University, Ottawa, Ontario, Canada
Associate Professor, Sprott School of Business, Carleton University, Ottawa, Ontario, Canada


text:
If you have any doubt about the color of your 1991 Ford Explorer, please note:
The color code can be located in the driver side door jamb. Click here for the Ford paint code location chart and paint code image example.
Call 1-888-710-5192.
We probably have it.
The base coat and touch up have worked great, application wise. I am impressed with your prompt service. I will definitely use you folks again.
Charles Vleck
Great match.
Share your touch up story...
Enter your year, make, and model below to find color matched paint:


text:
The Dena Bank going to declares the various job Notification online for the Meritorious Sports Person. All interested Candidates can apply for these posts online. Application Forms are published by the Dena Bank on the official website. Candidates can visit on the official website of Dena Bank and fill the application form with correct details and check the all notification related to this job on the website Dena Bank.
Dena Bank Recruitment 2016 Application form Online
The Dena Bank declares the various job Notification on their official website. All the candidates who want to conduct this Examination to get job, can apply online on the website of Dena Bank. All candidates can check their eligibility like Educational Qualification, Age Limit, Application Fees, Courses, Examination pattern etc. Various Candidates has submitted their application form successfully. For your kind information, we would inform all candidates that above mentioned information may be wrong or right. Then in this case we are not responsible. So please check only official website of Dena Bank to get correct information about this recruitment. Candidates can visit on this official link of Bank: www.denabank.co.in . Candidates can check all the details about Age limit, Qualification, Application fees, Selection process, Course on the official website of Dena Bank. Candidates can check all notifications on the official website of Dena Bank. Application forms are available on the official website of Dena Bank. Candidates must have acquired Minimum X standard pass or its equivalent for Subordinate staff, Graduation from any recognized University for Clerical staff & Officers. Selection will be made based on candidate's performance in interview.


text:
Filter Results:
- Full text PDF available (1)
Publication Year
- This year (0)
- Last 5 years (5)
- Last 10 years (6)
Publication Type
Publication Venue
Key Phrases
Learn More
- Piyush Mathur
- Inf. Soc.
- 2009
Taylor & Francis makes every effort to ensure the accuracy of all the information (the "Content") contained in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the Content. Any opinions and views… (More)
- Ashish K Khanna, Ankit Maheshwari, Marc J Popovich, Piyush Mathur
- Journal of clinical anesthesia
- 2014
Routine chest roentgenogram to confirm catheter placement in a postsurgical patient showed a left-sided internal jugular central venous catheter that did not appear to cross the midline. Arterial blood gas samples showed greater oxygenation from the central catheter as compared with the peripheral arterial sample. However, a transduced waveform showed a… (More)
- Ankit Maheshwari, Nidhi Sharma, Piyush Mathur
- Journal of anaesthesiology, clinical pharmacology
- 2013
- Renu Bala, Piyush Mathur
- 2015
Wireless Sensor Networks (WSN) consist of numerous autonomous sensor nodes devices are spatially distributed to sense and monitor various changes of the environment surrounding us. Such devices are also capable to communicate in wireless sensor networks and that can also sense, monitor, transmit, receive or process numerous data like pressure, temperature,… (More)
- Smaranjit Chatterjee, Jayanta Bain, Somita Christopher, Tirupati Venkata Swamy Gopal, Kalidindi Prasad Raju, Piyush Mathur
- Saudi journal of anaesthesia
- 2015
AIM The number of patients with end-stage renal disease (ESRD) has shown a consistent rise in India in recent years. Continuous ambulatory peritoneal dialysis (CAPD) remains one of the safe and effective forms of treatment. In this study, we have tried to assess the effectiveness of field block technique for analgesia during catheter placement surgery until… (More)
- Aaron M Joffe, Stephen M Pastores, Linda L Maerz, Piyush Mathur, Steven J Lisco
- Journal of critical care
- 2014
BACKGROUND Non-physician advanced practice providers (APPs) such as nurse practitioners and physician assistants are being increasingly utilized as critical care providers in the United States. The objectives of this study were to determine the utilization of APPs in the intensive care units (ICU)s of academic medical centers (AMCs) and to assess the… (More)
- ‹
- 1
- ›