Skip to content

Commit dd7f791

Browse files
authored
Merge branch 'main' into review-and-fixes
2 parents 4e5c8e1 + 802741d commit dd7f791

File tree

16 files changed

+666
-16
lines changed

16 files changed

+666
-16
lines changed

.github/workflows/banned_file_changes_pr.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
# pull_request:
44
# branches: [ "**/*" ]
55
pull_request_target:
6-
6+
77
jobs:
88
check_for_banned_file_changes:
99
name: Look for unsupported (banned) file modifications on PRs
@@ -31,7 +31,7 @@ jobs:
3131
echo 'Changes to files in .github are not allowed.'
3232
- name: Comment if .github changed
3333
if: contains(steps.files.outputs.all_files_changed, '.github')
34-
uses: oracle-devrel/add-pr-comment@v1
34+
uses: oracle-devrel/add-pr-comment
3535
with:
3636
message: |
3737
:no_entry: **Banned Files Modified**
@@ -43,15 +43,15 @@ jobs:
4343
echo 'Changes to license_policy.yml are not allowed.'
4444
- name: Comment if license_policy.yml changed
4545
if: contains(steps.files.outputs.all_files_changed, '"license_policy.yml"')
46-
uses: oracle-devrel/add-pr-comment@v1
46+
uses: oracle-devrel/add-pr-comment
4747
with:
4848
message: |
4949
:no_entry: **Banned Files Modified**
5050
Changes to `license_policy.yml` are not permitted. Please revert your changes and re-submit a new PR. Simply changing the file back to its original state and re-committing won't work (you must revert the changes made to it).
5151
repo-token: ${{ secrets.GITHUB_TOKEN }}
5252
- name: Look for changes to repolinter.json
5353
if: contains(steps.files.outputs.all_files_changed, '"repolinter.json"')
54-
uses: oracle-devrel/add-pr-comment@v1
54+
uses: oracle-devrel/add-pr-comment
5555
with:
5656
message: |
5757
:no_entry: **Banned Files Modified**
@@ -63,7 +63,7 @@ jobs:
6363
echo 'Changes to repolinter.json are not allowed.'
6464
- name: Look for changes to sonar-project.properties
6565
if: contains(steps.files.outputs.all_files_changed, '"sonar-project.properties"')
66-
uses: oracle-devrel/add-pr-comment@v1
66+
uses: oracle-devrel/add-pr-comment
6767
with:
6868
message: |
6969
:no_entry: **Banned Files Modified**

.github/workflows/license_audit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
run: echo "${{ steps.analysis.outputs.unapproved_licenses }}"
3232
- name: Comment if analysis finds unapproved licenses
3333
if: steps.analysis.outputs.unapproved_licenses == 'true'
34-
uses: oracle-devrel/add-pr-comment@v1
34+
uses: oracle-devrel/add-pr-comment
3535
with:
3636
message: |
3737
:no_entry: **License Inspection**

.github/workflows/repolinter.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
echo "Errored: ${{ steps.analysis.outputs.errored }}"
3535
- name: Comment if analysis finds missing disclaimer
3636
if: steps.analysis.outputs.disclaimer_found == 'false'
37-
uses: oracle-devrel/add-pr-comment@v1
37+
uses: oracle-devrel/add-pr-comment
3838
with:
3939
message: |
4040
:no_entry: **FAILURE: Missing Disclaimer**
@@ -47,34 +47,34 @@ jobs:
4747
repo-token: ${{ secrets.GITHUB_TOKEN }}
4848
- name: Comment if analysis finds missing readme
4949
if: steps.analysis.outputs.readme_file_found == 'false'
50-
uses: oracle-devrel/add-pr-comment@v1
50+
uses: oracle-devrel/add-pr-comment
5151
with:
5252
message: |
5353
:no_entry: **FAILURE: Missing README**
5454
The README file seems to be missing. Please add it.
55-
55+
5656
Details:
5757
${{ steps.analysis.outputs.readme_file_details }}
5858
repo-token: ${{ secrets.GITHUB_TOKEN }}
5959
- name: Comment if analysis finds missing license
6060
if: steps.analysis.outputs.license_file_found == 'false'
61-
uses: oracle-devrel/add-pr-comment@v1
61+
uses: oracle-devrel/add-pr-comment
6262
with:
6363
message: |
6464
:no_entry: **FAILURE: Missing LICENSE**
6565
The LICENSE file seems to be missing. Please add it.
66-
66+
6767
Details:
6868
${{ steps.analysis.outputs.license_file_details }}
6969
repo-token: ${{ secrets.GITHUB_TOKEN }}
7070
- name: Comment if analysis finds copyright notice missing
7171
if: steps.analysis.outputs.copyright_found == 'false'
72-
uses: oracle-devrel/add-pr-comment@v1
72+
uses: oracle-devrel/add-pr-comment
7373
with:
7474
message: |
7575
:warning: **WARNING: Missing Copyright Notice(s)**
7676
It's a good idea to have copyright notices at the top of each file. It looks like at least one file was missing this (though it might be further down in the file - this might be a false-positive).
77-
77+
7878
Details:
7979
${{ steps.analysis.outputs.copyright_details }}
8080
repo-token: ${{ secrets.GITHUB_TOKEN }}

data-platform/core-converged-db/database-23ai/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Reviewed: 21.08.2024
1515
- [Database 23ai: Feature Highlights on oracle.com](https://www.oracle.com/database/23ai/)
1616
- [Online documentation for Oracle Database 23ai](https://docs.oracle.com/en/database/oracle/oracle-database/23/index.html)
1717
- [Oracle Database 23ai New Features](https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/)
18+
- [New Features in 23ai Release Updates](https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/release_updates.html)
1819
- [Features and Licensing page](https://apex.oracle.com/database-features/)
1920
- [Oracle Interactive Technical Architecture Diagrams](https://docs.oracle.com/en/database/oracle/oracle-database/23/aliad/iad_home.html)
2021
- [Oracle Release Analyzer Diff Utility](https://oradiff.oracle.com/ords/r/oradiff/oradiff/home?session=226168768557352)
@@ -97,6 +98,7 @@ Reviewed: 21.08.2024
9798
- [23ai blogs on blogs.oracle.com/coretec](https://blogs.oracle.com/coretec/category/cased-concurrency-control-rt-23ai)
9899

99100
## Videos
101+
- [Lock-Free Row Updates in Oracle Database using ETAGs](https://youtu.be/zfurzMlY3iI)
100102
- [Generative AI integration with DBMS_CLOUD_AI](https://youtu.be/V2x3XtibrjM)
101103
- [Monitoring, Analyzing and Diagnosing SQL Statements](https://youtu.be/rbxNPetPH7c)
102104
- [JSON Relational Duality Views](https://youtu.be/YMftyjrEpnU)

data-platform/core-converged-db/db-json/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
The Oracle Database provides various perspectives for viewing and accessing JSON data. One can view it from the SQL database point of view or from the document or collection view that comes with tools and APIs like SODA (short for Simple Oracle Document Access). With SODA you can create and store collections of documents in the Oracle Database, and retrieve, without needing to know SQL or how the documents are stored in the database. Documents can be fetched from the database by key lookup or by using query-by-example (QBE) pattern-matching. Regardless of the chosen perspective, the benefits of using Oracle Database as a Converged Database are always included.
44
In release 23, JSON Relational Duality, one of the highlights for JSON developers delivers a solution that provides the benefits of both relational tables and JSON documents, without the tradeoffs of either model. Using Duality Views, data is still stored in relational tables in a highly efficient normalized format but is accessed by apps in the form of JSON documents.
55

6-
Reviewed Date: 19.8.2024
6+
Reviewed Date: 30.10.2024
77

88
# Useful Links
99

@@ -13,7 +13,7 @@ Reviewed Date: 19.8.2024
1313
- [JSON Developer's Guide 23](https://docs.oracle.com/en/database/oracle/oracle-database/23/adjsn/index.html#Oracle%C2%AE-Database)
1414
- [JSON-Relational Duality Developer's Guide 23](https://docs.oracle.com/en/database/oracle/oracle-database/23/jsnvu/index.html#Oracle%C2%AE-Database)
1515
- [Simple Oracle Document Access (SODA)](https://docs.oracle.com/en/database/oracle/simple-oracle-document-access)
16-
- [Using SQL/JSON Function JSON_VALUE With a Boolean JSON Value](https://docs.oracle.com/en/database/oracle/oracle-database/23/adjsn/function-JSON_VALUE.html#GUID-FD4E6FFA-8865-4682-B66A-79F77CBACD50)
16+
- [New Features in 23ai Release Updates](https://docs.oracle.com/en/database/oracle/oracle-database/23/nfcoa/release_updates.html)
1717

1818
## Blogs
1919

@@ -35,10 +35,10 @@ Reviewed Date: 19.8.2024
3535
- [Tutorial: JSON in the Oracle Database](https://blogs.oracle.com/coretec/post/tutorial1-json-in-oracle)
3636
- [NoSQL-style API SODA for beginners](https://blogs.oracle.com/coretec/post/nosql-style-api-soda-for-beginners)
3737
- [JSON Relational Duality Views on Github](https://github.com/oracle-devrel/technology-engineering/tree/main/data-platform/core-converged-db/database-23c/json-relational-duality-views)
38-
- [MongoDB API 23c Workshop](https://github.com/oracle-devrel/technology-engineering/tree/main/data-platform/core-converged-db/mongodb-api/workshop)
3938

4039
## Videos
4140

41+
- [Lock-Free Row Updates in Oracle Database using ETAGs](https://youtu.be/zfurzMlY3iI)
4242
- [JSON Relational Duality Views](https://youtu.be/YMftyjrEpnU)
4343
- [JSON in Oracle Database 23ai](https://www.youtube.com/watch?v=KMgsb-BWWc0&list=PLHA__TOeNI7MNBND0JWQUqTYOQ1up-VHX&pp=gAQBiAQB)
4444
- [Materialized Views on JSON Collection Tables](https://youtu.be/C2wXcJyJjUE)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Copyright (c) 2024 Oracle and/or its affiliates.
2+
3+
The Universal Permissive License (UPL), Version 1.0
4+
5+
Subject to the condition set forth below, permission is hereby granted to any
6+
person obtaining a copy of this software, associated documentation and/or data
7+
(collectively the "Software"), free of charge and under any and all copyright
8+
rights in the Software, and any and all patent rights owned or freely
9+
licensable by each licensor hereunder covering either (i) the unmodified
10+
Software as contributed to or provided by such licensor, or (ii) the Larger
11+
Works (as defined below), to deal in both
12+
13+
(a) the Software, and
14+
(b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
15+
one is included with the Software (each a "Larger Work" to which the Software
16+
is contributed by such licensors),
17+
18+
without restriction, including without limitation the rights to copy, create
19+
derivative works of, display, perform, and distribute the Software and make,
20+
use, sell, offer for sale, import, export, have made, and have sold the
21+
Software and the Larger Work(s), and to sublicense the foregoing rights on
22+
either these or other terms.
23+
24+
This license is subject to the following condition:
25+
The above copyright notice and either this complete permission notice or at
26+
a minimum a reference to the UPL must be included in all copies or
27+
substantial portions of the Software.
28+
29+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
30+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
31+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
32+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
34+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35+
SOFTWARE.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Password Reset On User Role Change Event Handler
2+
3+
This asset contains the code and deployment items for an event handler that automatically triggers a password reset flow for a user once a user's role attribute changes.
4+
5+
Note that by "user role" we are reffering to the user's role attribute (also known as "employee type") in this context, not to changes in a user's membership to any particular OIG role.
6+
7+
Developed on and compatible with OIG 11g R2 PS3 and above.
8+
9+
Review Date: 28.10.2024
10+
11+
# When to use this asset?
12+
13+
When there's a need to provide or demonstrate the functionality described above or something similar, which can be adapted from the provided code.
14+
15+
Note that password resets for lifecycle events involving other attribute value changes, such as for example a user's parent Organization, can be easily retrofitted based on the provided sample.
16+
17+
# How to use this asset?
18+
19+
## Building and deployment
20+
21+
Here's a short build and deployment checklist:
22+
23+
1. Generate a jar file containing the sample code.
24+
2. Copy the jar file under the `lib` directory of the provided `plugin` folder structure and create a zip file with the following root structure:
25+
- lib
26+
- META-INF
27+
- plugin.xml
28+
3. Register the plugin zip file to an OIG environment using OIG's plugin registration utility script.
29+
30+
Please see the useful link below for detailed build and deployment steps.
31+
32+
## How do I execute the event handler?
33+
34+
Once registered the code will be run automatically when user lifecycle events occur in the system. Note that password resets will be triggered only when the target attribute value changes (in this sample, the user's role), during modify events.
35+
36+
# Useful Links
37+
38+
[Oracle Identity Governance developer's guide - Developing plugins](https://docs.oracle.com/en/middleware/idm/identity-governance/12.2.1.4/omdev/developing-plug-ins.html#GUID-7F4EE3EA-076C-45DB-B13D-2905AB5AF6CB)
39+
40+
# License
41+
42+
Copyright (c) 2024 Oracle and/or its affiliates.
43+
44+
Licensed under the Universal Permissive License (UPL), Version 1.0.
45+
46+
See [LICENSE](https://github.com/oracle-devrel/technology-engineering/blob/main/LICENSE) for more details.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version='1.0' encoding='utf-8'?>
2+
<eventhandlers xmlns="http://www.oracle.com/schema/oim/platform/kernel"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://www.oracle.com/schema/oim/platform/kernel
5+
orchestration-handlers.xsd">
6+
<!-- Custom preprocess event handlers -->
7+
<action-handler
8+
class="com.oracle.sample.PasswordResetOnUserRoleChange"
9+
entity-type="User"
10+
operation="MODIFY"
11+
name="PasswordResetOnUserRoleChange"
12+
stage="preprocess"
13+
order="999"
14+
sync="TRUE"/>
15+
</eventhandlers>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Place the plugin jar file in this directory before creating the plugin zip file.
2+
3+
Note the zip file structure must contain:
4+
- lib
5+
- META-INF
6+
- plugin.xml
7+
8+
Do NOT create an archive of the entire plugin directory, only of its contents, as specified above.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<oimplugins>
3+
<plugins pluginpoint="oracle.iam.platform.kernel.spi.EventHandler">
4+
<plugin pluginclass="com.oracle.sample.PasswordResetOnUserRoleChange"
5+
version="1.0"
6+
name="PasswordResetOnUserRoleChange">
7+
</plugin>
8+
</plugins>
9+
</oimplugins>

0 commit comments

Comments
 (0)