openhub.net
Black Duck Software, Inc.
Black Duck Open Hub
Follow @
OH
Sign In
Join Now
Projects
People
Organizations
Tools
Blog
BDSA
Projects
People
Projects
Organizations
Forums
Cerb
Settings
|
Report Duplicate
9
I Use This!
×
Login Required
Log in to Open Hub
Remember Me
Inactive
Commits
: Listings
Analyzed
4 days
ago. based on code collected
4 days
ago.
Jun 01, 2023 — Jun 01, 2024
Showing page 17 of 298
Search / Filter on:
Commit Message
Contributor
Files Modified
Lines Added
Lines Removed
Code Location
Date
* [Records/API/Upserts] Upserts are now supported in the abstract records API. An "upsert" is a single operation that updates an existing record when a match is found, or creates a new record when a match isn't found. Upserts are performed with a request like `PATCH /records/<record-type>/upsert.json`. The body has the same format as a `PUT` update using an array of `fields[key]=value`. Upserts require a `query` parameter with a quick search query that must match exactly 0 (insert) or 1 (update) rows. For instance, you could upsert an organization with the query `name:"Apple, Inc."`, and if an organization is found it is updated, and otherwise a new organization is created. To perform an upsert, a worker must have permission to create and modify records of the given type. They also must have access to update a matched record. Upserts are particularly useful when synchronizing records into Cerb from a third-party source. For instance, when issues are updated in a bug tracker (like GitHub Issues or JIRA), a webhook could prompt Cerb to pull those changes into a custom record. The upsert query could match on the external ID to determine if a record was previously synchronized or not.
Jeff Standen
More...
over 6 years ago
* [Records/API] Added a new `/records` endpoint to the API for performing abstract operations on all record types (e.g. create, retrieve, update, delete, search). The record type is specified in the path like `/records/tickets/`, and aliases are supported in addition to full context IDs. Custom records are supported. All fields are supported. All of the same validation logic from the UI is enforced in the abstract API (roles, record ownership, etc). This drastically simplifies working with the API. Previously, each record had to be specifically implemented as an API endpoint, with a limited number of fields, and code that used the API had to hardcode all of those paths.
Jeff Standen
More...
over 6 years ago
* [Workers/Cards] In the worker record editor, the delete option now uses a two-step confirmation. After deletion, the underlying card popup is automatically closed.
Jeff Standen
More...
over 6 years ago
* [Records/API/Validation] In records, all of the validation logic for creating and updating records has been consolidated for reuse between the web UI, API, packages, and bots. This makes it much simpler to do abstract record operations.
Jeff Standen
More...
over 6 years ago
[Code Cleanup]
Jeff Standen
More...
over 6 years ago
* [API] Fixed an issue with authorizing API request signatures. If a query argument was formatted like `&field` without a trailing `=` then the request signature would fail to validate.
Jeff Standen
More...
over 6 years ago
[Records] Refactored `getOwnerTree()` to use full context IDs rather than aliases since these are easier to deal with abstractly.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Added a `context()` validator to records. This ensures the context field is valid record type. It also accepts aliases like `ticket` rather than full IDs.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Added an `extension()` validator to records. This ensures the extension field is valid for the given extension point.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Added a `timezone()` validator to records. This ensures the timezone field is formatted like `America/Los_Angeles`.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Added a `language()` validator to records. This ensures the language is formatted like `en_US`.
Jeff Standen
More...
over 6 years ago
[Platform] The `DevblocksPlatform::strParseQueryString()` method now accepts an optional `$decode` argument for determining whether or not to urldecode() the contents. It defaults to `true`.
Jeff Standen
More...
over 6 years ago
* [Worklists/Mail/Templates] The email templates worklist doesn't show the `(+)` create option to non-admins.
Jeff Standen
More...
over 6 years ago
* [Worklists/Webhooks] The webhooks worklist doesn't show the `(+)` create option to non-admins.
Jeff Standen
More...
over 6 years ago
[Code Cleanup/Contexts] The abstract `CerberusContexts::isWriteableByDelegateOwner()` helper can now polymorph the `$actor` argument into a dictionary when needed.
Jeff Standen
More...
over 6 years ago
[Code Cleanup] Fixed abstract `CerberusContexts::isDeleteableByActor()`.
Jeff Standen
More...
over 6 years ago
[Code Cleanup/Contexts] The `CerberusContexts::isActorAnAdmin($actor)` helper can now automatically polymorph `$actor` into a dictionary if it isn't yet.
Jeff Standen
More...
over 6 years ago
[Code Cleanup] Removed an extraneous tag in the delete confirmation in card editors.
Jeff Standen
More...
over 6 years ago
[Bots/Behaviors/Roles] Fixed the security model for bot behaviors. While bots are not editable by non-admins, they can be owned by non-admins, and behaviors depend on ownership rather than delegated permissions on the bot.
Jeff Standen
More...
over 6 years ago
[Records/API] In context manifests, changed the 'create' option to 'records' for enabling the abstract records API.
Jeff Standen
More...
over 6 years ago
[Setup] Removed the Setup->Configuration->Custom Records menu until it's properly implemented.
Jeff Standen
More...
over 6 years ago
[Custom Fields/Validation] When validating a custom field change, the possible values of `type` are now returned when invalid.
Jeff Standen
More...
over 6 years ago
* [API/Webhooks] In the API, webhook records now display the `extension_params` key.
Jeff Standen
More...
over 6 years ago
* [API/Attachment] In the API, it's now possible to set a `content` key on attachment records during creation or modification. This accepts either a text value (the default), or a base64-encoded binary file in `data:mime/type;base64,` URI format.
Jeff Standen
More...
over 6 years ago
* [GPG Keys] Fixed an issue with GPG Public Key records. If the fingerprint in the database was somehow blank, the card for the key showed the subkeys of all other keys.
Jeff Standen
More...
over 6 years ago
* [Knowledgebase/API/Snippets] Placeholder dictionaries for knowledgebase categories can now expand the `parent_` placeholder.
Jeff Standen
More...
over 6 years ago
* [Time Tracking/Cards] Fixed an issue with time tracking cards. Administrators weren't able to edit time entries for other workers.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Fixed an issue in the validation service where custom record link fields always failed. These now properly validate using the record type configured on the field.
Jeff Standen
More...
over 6 years ago
* [Records/Validation] Fixed an issue with the validation service in Devblocks when a field key begins with `custom_` and isn't a custom field.
Jeff Standen
More...
over 6 years ago
[Records/API] Implemented `isCreateableByActor()` for all contexts. This defines the conditions required for an actor to create a new record, since `isWriteableByActor()` can only handle existing records, and the 'create' per-record privileges in roles don't contain logic.
Jeff Standen
More...
over 6 years ago
←
1
2
…
13
14
15
16
17
18
19
20
21
…
297
298
→
This site uses cookies to give you the best possible experience. By using the site, you consent to our use of cookies. For more information, please see our
Privacy Policy
Agree