-
+
{% for course in courses.in_catalog %}
{% assign course_categories = course.categories | map: 'id' %}
@@ -81,7 +183,7 @@
{% endfor %}
-
+
{% if number_of_videos <= 3 %}
\ No newline at end of file
+
diff --git a/CustomerNotes/Skuid/Skuid.md b/CustomerNotes/Skuid/Skuid.md
index 9bd1eea2..609f9fd1 100644
--- a/CustomerNotes/Skuid/Skuid.md
+++ b/CustomerNotes/Skuid/Skuid.md
@@ -334,3 +334,14 @@ No risk in the renewal from Anna.
or see a single user's data across all data sources.
- They are using a data lake, but its limited due to what Salesforce is willing to expose. Heap is only a few years
old and some older versions that don't even had Heap installed.
+
+## 10/05/2023
+
+### Academy Numbers and updates
+
+* Just ran quarterly reports
+* 200% increase in badges awarded (courses completed) over this time last year. --> Mostly new users.
+* Increased "focus" from exisiting users and course completions, likely to gear up for Certificate purchases
+* 2 People certified last month
+* Total certified people: 15 [8 certification committee, 1 test writer, 6 are paid]
+* 4 Level 1 completions last month (30 courses), previous 5-months had a total 3 level 1 completions. 400% increase.
diff --git a/CustomerNotes/Walmart_Luminate/Walmart_Luminate.md b/CustomerNotes/Walmart_Luminate/Walmart_Luminate.md
index a197312f..da71a82b 100644
--- a/CustomerNotes/Walmart_Luminate/Walmart_Luminate.md
+++ b/CustomerNotes/Walmart_Luminate/Walmart_Luminate.md
@@ -168,3 +168,16 @@ DONE: Talk to Kaitlyn about the modal. See list below:
* Check timestamp every time the function runs
* If timestamp == 2 weeks, show new modal
* Set secondary modal boolean to True/False.
+
+## 10/05/2023
+
+### Sync with Stephanie
+
+Off-the-record Chat:
+
+* Scott said: "can we throw money at getting some features off their backlog?"
+* Stephanie unclear as to what new features are
+* Scott needs to be clear
+* Schedule a call for a roadmap visibility with Allyson and Joris.
+* Scott likely already has things in place.
+* SCORM files and loading very very slowly. Especially courses with a lot SCORM files.
diff --git a/CustomerNotes/WilliamSonoma/WilliamSonoma.md b/CustomerNotes/WilliamSonoma/WilliamSonoma.md
index 7333eeec..49b33c5b 100644
--- a/CustomerNotes/WilliamSonoma/WilliamSonoma.md
+++ b/CustomerNotes/WilliamSonoma/WilliamSonoma.md
@@ -31,3 +31,24 @@
- They will be tied into their SSO network - PING.
- They don't want to give them their full login until they have passed their WFH systems check. <-- this is mostly IT
stuff. Not courses. It mostly falls on recruiting.
+
+## 10/05/2023
+
+### Realignment with Aubrey
+
+- First 3 calls were the most jarring because they thought Patrycja was a designer.
+- Sent a lot of things and then on a call she says "I'll look for that."
+- When talking to Charles about the "build out" they thought they would just be telling us where things go.
+- Perfect storm of missed expectations.
+- The main reason they went to Northpass is the customization.
+- They are nervous that they don't know HTML.
+- They will have to flip things fast "on the fly" or quickly in the future.
+- Aubrey came in externally and is the only person with an L&D background.
+- Cognitive overload on the old training.
+- Tyler's background is writing and some tech. He's very defensive about his work.
+- Extended other LMS contract.
+- Aubrey's big concern is the data. If data changes based on design, then data should dictate design.
+- She doesn't want to be a bad partner.
+- Patrycja has access to their old LMS.
+- Norm to schedule monthly sync with Aubrey.
+- Quantifiable testing, HR needs specific items, User touches, how long did they access something, etc
diff --git a/Scripts/API_Tests/get_courses.py b/Scripts/API_Tests/get_courses_and_categories.py
similarity index 100%
rename from Scripts/API_Tests/get_courses.py
rename to Scripts/API_Tests/get_courses_and_categories.py
diff --git a/Scripts/API_Tests/get_courses_w_descriptions.py b/Scripts/API_Tests/get_courses_w_descriptions.py
new file mode 100644
index 00000000..613394ea
--- /dev/null
+++ b/Scripts/API_Tests/get_courses_w_descriptions.py
@@ -0,0 +1,66 @@
+"""
+Small script to grab the list of courses from Northpass API
+along with their status & description and write them to a CSV.
+"""
+import requests
+import pandas as pd
+import Apikeys
+
+APIKEY = Apikeys.walmartprod
+
+
+def get_course():
+ """
+ This function paginates through API responses to get the courses information
+ """
+
+ count = 0
+ courses = []
+ course_dict = {}
+
+ while True:
+ count += 1
+ url = f"https://api2.northpass.com/v2/courses?page={count}"
+ print(url)
+ headers = {"accept": "application/json", "X-Api-Key": APIKEY}
+ response = requests.get(url, headers=headers)
+ data = response.json()
+ nextlink = data["links"]
+
+ for response in data["data"]:
+ status = response["attributes"]["status"]
+ if status == "live":
+ uuid = response["id"]
+ name = response["attributes"]["name"]
+ full_description = response["attributes"]["full_description"]
+ course_dict = {
+ "id": uuid,
+ "name": name,
+ "status": status,
+ "full_description": full_description,
+ }
+
+ try:
+ courses.append(course_dict)
+ except TypeError as e:
+ print(f"Error: {e}")
+ finally:
+ write_to_csv(courses)
+ else:
+ pass
+
+ if "next" not in nextlink:
+ break
+
+
+def write_to_csv(courses):
+ """
+ Function to write the list of dictionaries to a CSV using pandas.
+ Takes on parameter, the list of courses.
+ """
+ df = pd.DataFrame.from_dict(courses)
+ df.to_csv("/Users/normrasmussen/Downloads/walmart_courses_descriptions.csv")
+
+
+if __name__ == "__main__":
+ get_course()
diff --git a/Scripts/API_Tests/list_prop_test.py b/Scripts/API_Tests/list_prop_test.py
index 6c26cfd4..bd936cc6 100644
--- a/Scripts/API_Tests/list_prop_test.py
+++ b/Scripts/API_Tests/list_prop_test.py
@@ -1,23 +1,30 @@
import requests
+import Apikeys
+APIKEY = Apikeys.walmartprod
def list_prop():
- url = "http://api.northpass.com/v2/properties/people/bulk"
+ """
+ Quick little function to output Course Properties to terminal
+ """
+ url = "http://api2.northpass.com/v2/properties/courses/properties"
headers = {
- "X-Api-Key": "SlpQlju219WnWogn94dQUT6Yt",
+ "X-Api-Key": APIKEY,
"accept": "application/json",
- "content-type": "application/json",
}
- payload = {
- "data": [
- {
- "attributes": {"properties": {"sample_list": "item 3"}},
- "id": "0b31c435-c18b-4573-984e-32cda57045b4",
- "type": "person_properties",
- }
- ]
- }
- response = requests.post(url, headers=headers, json=payload)
+
+ # payload = {
+ # "data": [
+ # {
+ # "attributes": {"properties": {"sample_list": "item 3"}},
+ # "id": "0b31c435-c18b-4573-984e-32cda57045b4",
+ # "type": "person_properties",
+ # }
+ # ]
+ # }
+
+ # response = requests.post(url, headers=headers, json=payload)
+ response = requests.get(url, headers=headers)
print(response.text)
print(response.status_code)