From a9486d6bc7092bd3ba5e1870d166a384422f227e Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Tue, 6 May 2025 14:20:26 -0400
Subject: [PATCH 1/5] "Update schema types, field settings, and add government
 recipe

Added and revised schema types for improved mapping, including 'Place' and its subtypes. Updated field configurations (e.g., schema_duration, provider, serviceOutput) and entity types. Introduced a new 'Government' recipe with content types for government websites, aligning with Schema.org standards."
---
 config/install/schemadotorg.settings.yml      |  21 ++++++++++++++----
 .../install/schemadotorg_epp.settings.yml     |   1 +
 ...ng_values_autocomplete_widget.settings.yml |   1 +
 .../config/snapshot/schemadotorg.settings.yml |  21 ++++++++++++++----
 .../icon/civic_structure.png                  | Bin 0 -> 929 bytes
 .../landmarks_or_historical_buildings.png     | Bin 0 -> 983 bytes
 .../schemadotorg_type_tray/icon/service.png   | Bin 0 -> 902 bytes
 .../icon/tourist_attraction.png               | Bin 0 -> 1133 bytes
 .../config/snapshot/schemadotorg.settings.yml |   1 -
 .../config/snapshot/schemadotorg.settings.yml |   1 -
 10 files changed, 36 insertions(+), 10 deletions(-)
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/civic_structure.png
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/landmarks_or_historical_buildings.png
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/service.png
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/tourist_attraction.png

diff --git a/config/install/schemadotorg.settings.yml b/config/install/schemadotorg.settings.yml
index 6fcf51ff6..7d9191457 100644
--- a/config/install/schemadotorg.settings.yml
+++ b/config/install/schemadotorg.settings.yml
@@ -373,7 +373,6 @@ schema_types:
       - repeatFrequency
       - startDate
     Service:
-      - availableChannel
       - description
       - hoursAvailable
       - name
@@ -808,12 +807,19 @@ schema_types:
         - EducationalOrganization
         - CourseInstance
         - Course
-    hospitality:
-      label: Hospitality
+    place:
+      label: Place
       color: '#c5dedd'
       types:
-        - LodgingBusiness
         - Accommodation
+        - AdministrativeArea
+        - CivicStructure
+        - Landform
+        - LandmarksOrHistoricalBuildings
+        - LodgingBusiness
+        - Residence
+        - TouristAttraction
+        - TouristDestination
     food:
       label: Food
       color: '#f0efeb'
@@ -1338,6 +1344,8 @@ schema_properties:
       unlimited: true
     jobBenefits:
       unlimited: true
+    jurisdiction:
+      type: text_long
     keywords:
       unlimited: true
     knowsAbout:
@@ -1455,6 +1463,9 @@ schema_properties:
       scale: 0
       min: 0
       max: 1000
+    provider:
+      label: Providers
+      unlimited: true
     publication:
       label: Publications
       unlimited: true
@@ -1508,6 +1519,8 @@ schema_properties:
     secondaryPrevention:
       label: 'Secondary preventions'
       unlimited: true
+    serviceOutput:
+      type: text_long
     signOrSymptom:
       label: 'Sign or symptoms'
       unlimited: true
diff --git a/modules/schemadotorg_epp/config/install/schemadotorg_epp.settings.yml b/modules/schemadotorg_epp/config/install/schemadotorg_epp.settings.yml
index c43f39e33..79637ba95 100644
--- a/modules/schemadotorg_epp/config/install/schemadotorg_epp.settings.yml
+++ b/modules/schemadotorg_epp/config/install/schemadotorg_epp.settings.yml
@@ -2,6 +2,7 @@ node_links:
   Organization:
     'Organization?parentOrganization': 'Add @label'
     'JobPosting?hiringOrganization': 'Add @label'
+    'Service?serviceOperator': 'Add @label'
     'Person?memberOf': 'Add @label as member'
     'Person?worksFor': 'Add @label as employee'
     'Event?organizer': 'Add @label as organizer'
diff --git a/modules/schemadotorg_existing_values_autocomplete_widget/config/install/schemadotorg_existing_values_autocomplete_widget.settings.yml b/modules/schemadotorg_existing_values_autocomplete_widget/config/install/schemadotorg_existing_values_autocomplete_widget.settings.yml
index 206add6b2..914344d95 100644
--- a/modules/schemadotorg_existing_values_autocomplete_widget/config/install/schemadotorg_existing_values_autocomplete_widget.settings.yml
+++ b/modules/schemadotorg_existing_values_autocomplete_widget/config/install/schemadotorg_existing_values_autocomplete_widget.settings.yml
@@ -54,6 +54,7 @@ default_schema_properties:
   - productionCompany
   - programPrerequisites
   - programType
+  - provider
   - qualifications
   - responsibilities
   - riskFactor
diff --git a/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml b/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
index 5b8203810..3ffceadf6 100644
--- a/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
+++ b/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
@@ -383,7 +383,6 @@ schema_types:
       - repeatFrequency
       - startDate
     Service:
-      - availableChannel
       - description
       - hoursAvailable
       - name
@@ -810,12 +809,19 @@ schema_types:
         - EducationalOrganization
         - CourseInstance
         - Course
-    hospitality:
-      label: Hospitality
+    place:
+      label: Place
       color: '#c5dedd'
       types:
-        - LodgingBusiness
         - Accommodation
+        - AdministrativeArea
+        - CivicStructure
+        - Landform
+        - LandmarksOrHistoricalBuildings
+        - LodgingBusiness
+        - Residence
+        - TouristAttraction
+        - TouristDestination
     food:
       label: Food
       color: '#f0efeb'
@@ -1340,6 +1346,8 @@ schema_properties:
       unlimited: true
     jobBenefits:
       unlimited: true
+    jurisdiction:
+      type: text_long
     keywords:
       unlimited: true
     knowsAbout:
@@ -1457,6 +1465,9 @@ schema_properties:
       scale: 0
       min: 0
       max: 1000
+    provider:
+      label: Providers
+      unlimited: true
     publication:
       label: Publications
       unlimited: true
@@ -1510,6 +1521,8 @@ schema_properties:
     secondaryPrevention:
       label: 'Secondary preventions'
       unlimited: true
+    serviceOutput:
+      type: text_long
     signOrSymptom:
       label: 'Sign or symptoms'
       unlimited: true
diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/civic_structure.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/civic_structure.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d431710e8561e3e4a2f7bedc7716ef0174dcf6e
GIT binary patch
literal 929
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z#Q%A
z;uum9_jYbz*<u48*FrP1w{nwmmd}0L@+R@cu}6I~FI^5|5<2+7CZ_IIagsyb^+~D8
z&MUZV`;I>jHnMH`5EL5v`~Us@z8nwV7VX?47PVGuN?HZe#b$$uR)ItBzc^<WbTK5g
z7OXE+wb*`p?asLMy;aOp*gk1=Fn)aMJWFN*k3bh!rjUbB%i)I~M3Vn}UD_O{yKBjW
zWtXn!aHZ(xZ<rM7!4k&4h|N(~FoM@ZQ(>DQ%O)mGi9>0f2Oc?Wd$(Zi-=mA47O66I
zGyc54=O9<kOP2?V3e~L>j0I<~vItE6XI$-efQN-+vVfQ;i(BKHrOoryxBl1hRx;pV
z$^X#()-qW~@COSMOaGG7Q{UQ4Wi-w?|NOc{a@D6}8z(ZwT5un@(Q)8I?(71qxr?TF
z{x)M%$olh9z)*>Sv10~P(z6GO41&Q9XJl+x6q2|)W=^(wa$YQZ;gOOF2I{`^4W_F$
zE;3!T^7XHux4%?xKN5fZ*x!gtx-91QhIjf+ZeJ5oxc%z?<9BeQmNLH#TU7CC<CA;c
zUs^5~zgOM9X>DQt_VzQCPol4H{cY#Gs9xuY2Xo|S!Q`5_to()FU#?2M>AznoZy`fc
z9(U&HZPn>w4sU*iRe1R8I9+pit(bB%wrhgv0@1m@8Z=TO`POd|{~JDOLTY%=1lJRr
zwu(7T^Iaa&RoD@$eN3@-twg&4-_K<X%B60vE;CNuQXaK<9ZRNu=K8f;Cw#kAqV#s_
z>nqci1TPPspJ!C^>ax_umHin<zF1#=Kc8#Dw@Ke_J<`lv@2h?(Znxi(z0OgFw@>Hj
zZ{C|6$ijcn`GbJXkqMbKcX@t&jO4t2`}w7en+3B^Diy!GyVoiI)1x*fMV9NQes9@q
zcI-x7m8R^p&>xGtWuBdhmVCAKwNmin@4FouCa%BRb9OzW%KUf9;d${w1|bjh1mbp1
zoGRk5>D24}77l-ArP?wpL_Yl*FQZU*cGEn@32Q$6(&rP{pB8zZ!6U5luQ+>0{N^?3
zKN>%j?OfyV&d+35dB9WC$*Y-N*6=bwBCol91=GyW%PcnT63O-Zer>NodZzD1Q*kpp
zThAxjxls*2G-inPuX^-bG0BC2Nx+cx$eDxA3`)xyW>{8qC<yFxRAp&xTqwk2$ED`H
hm{W1j(w}R}cW5ns<7ZQ9!N9=4;OXk;vd$@?2>@Tetpfl6

literal 0
HcmV?d00001

diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/landmarks_or_historical_buildings.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/landmarks_or_historical_buildings.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5fc47a258be95555b3c3cf90649a839dfb51856
GIT binary patch
literal 983
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z&z2@
z#WAEJ?(Lk!vPT9yEy8-+-pX=ZzxmCo#d^x*hq3=pRM+M@=_K~6r2ps^zWvLj>v&s_
z^M~_Ki+*}&{ylqH;`qnUReS4P=3SDg{BYT%miO?7Z^?Y$E9c!`d`??u0<Q#j`-T7~
zrkjm|QeGActp<mjI9XjdlvSn}I7~4(<jBeR#8qP9f*tHZoNf{t>l#Da1ev;`6?zkP
zv_BH^NS0W)a0fF}(?hW?ZG{90y@fj%lUNSRiikV(B<^TR;(PMDvhC}%o$a4Rf)(Z^
z=$xDoRJH$ZUis=L3KQ;6G`ICOWHs^)-gN3n`rmV(bHv0q_Z2&EJSmTw!Du=EeEwsL
zXU2u)@~5A3G_F~4Sh2ApCb2RibEf7IV*zh_Ck1WQZihRz*Vv8qla>jn{|=8{>7a1V
zrN~1;FZS0YiLku8n^FW%+-f?sDx~7B*~V{5YFr=p<T@#Y3Eh2pJ?r-o7sYw8zYd)|
zB_njAEr{bt{7a*cN@`q%?=Jb)w>l}@K4mk-DQ32l_x8M{0!%lfd?IYT_wN4Utf|uE
zy}ji1he@sq=d*=mJXogJX|%d9B|W^ha>8>_mUpfX9GZ5N7;pDe2<bQ<zbC)YasJw9
z4VTB4-fJ%Pe=DE)$w`U5rt<TgBRs+<ytZVqxW2B>`l9Q}u)@j2aplf0S9CNkxbI|n
z^d?7^%O#m>rGV!_;cdMfOVXUCv~+Xb><qf@V8VZO7URV)|NrkjaN(`+3MUgr#R-#~
zmgg+C)Kn2j-QcZvnPFw5(UiaZ9>pDck+X6qYw6#-zUG6@xoe3ICVGE&zbbmE75Fe}
z_LNKWr%wMSexL8<wZjaWeR0igu}qaqQ%pKGzL>_M#1;Pgm}z)b_2Sm4Yff+}PS|U5
zsGh(0wLxn}jFsKH*|tI*$`X|tu}pz8o%9m|@?;}7aV$~Tt>6$>`jYi?#yys&t{h7Q
zQo|jTswcFHH;Sa`t&%(?<Kz{_&!s33@@o2b=8sAOtt{m)xs8}K{o_1NuWM*AYdx_z
z#^dCvV*-;7_gY{4C+lRS!y$08q3_-_hdHSXjRGB;IV`04L@#kq*i&RR*DrR>ye#8N
z8@ckgT|P@E$bDOu<@}@4{_VZ#5+3~RzH1ZrY)aK<b1I$k_{xeFhf|NW^E?$EP1w4(
z!Qs}i@S1Wa!S*$8Sy?Wb?R&IaxWghPSHFQ_A-`rj2jisn#edDSe}??ZSoza-!;SVQ
r0lL2<W{Ed_6?}C!az*@(Z~X0Tdz!Q7q<>*xU|{fc^>bP0l+XkK=UA_%

literal 0
HcmV?d00001

diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/service.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/service.png
new file mode 100644
index 0000000000000000000000000000000000000000..797f5df7211da0dba830acb8c57472dca624193e
GIT binary patch
literal 902
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&!0h1Z
z;uum9_jYb#-eLohmO{O2Z)Kg<Z9ZG-^lrnGqzZ4AOJ=bKb=w|pw)&IZa?)V_@$+TM
zH%&$3o`3#%UE{Xp_v%Ui|Lo43Rrl*p;qJS3S~XjbT~(=KF?5{4xaL&(x!7#xVBQI*
zpMH9{cfPRT)&4A|VAcsD62?2D7CdNt(hw*tVlrWlL7K+B-`{`#{ipNq2siJN-01iN
zTlT%)^_}Vb*-sui6NFx_P*jaj$i4mVXH0m@vh91n|NHe`V2hxNnQDr{>cdxWt;ysT
z$<lRXnkm+h>?F2+-RrQe?Luk_f~xvg4sTzh>2&^wp~JJ<WtU%yNc|TVtbBj}+ADWH
zg~$7*7rzs{=)do-6_4}$YOcAdC%Wz?dl@F)vf+6b*eWz>)x)KKh4cDqH>W6A@Bi_}
zxnNpI25)eUu`#E|ih{Ivt?_cxtxjvL(7h3PZQpI4Cks;6INhv%5o1*5-5Z^g{Zf-f
zLhNq!wvFc=`EXhmt+;jh%8~a*ys=>ls%C$M?$5t&v!&wi{6`rI(P0;Dviky4B)2VU
zTv3<PuB~u;@2#hPr*phHH9OoKxMpQnmXtc^H0d5YvgKr?vhMrx7ZXx7s|=q-y*q2!
zEh50(INgki>9=QJ1ILN$yq9lGd9G7+L~7FKzpGX&2B$Ch+jZg3`sdfr#cEHuF(IsY
zf5U+Q&W?ryG7TpKomg0&G5GWeDJdARClpN)U~IHxn7p`!gX0Y23>j4yhXlR@Pc#&n
zn2H(H+&KjWW-uFAdJRUce_RwS`->ZXPLDmO$0<1B?VU2qh@vUQM=svDo%`U<PU#7A
z(sK&loL+szD5jTd5kKqf)YlD<N*kt?s4xcVMzSUOx(iL%xUp^B`+%SX73P^wInG?}
zyjNYnS6!|sZJpx!+T<3ax@UXqe~V0iE3<shQnTNetDfIUmT0pRJ+kJFzGrjSBx#kN
RWCjKX22WQ%mvv4FO#n;Ah6Vrt

literal 0
HcmV?d00001

diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/tourist_attraction.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/tourist_attraction.png
new file mode 100644
index 0000000000000000000000000000000000000000..611dfdf655601eb5295c5896c43a130dcd73a584
GIT binary patch
literal 1133
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z@qNy
z;uum9_x5h|tVIR_tO<{fEvx2#RJN?z`jK4Q%^5R0bN`4iKM7I~Y5lY`Ucjl2Pt)MS
zvdjFd<qXzDE$)3O(sI*rfdbc|HS9A?-D{lsjz4aHefjXi4~2W<j-P&NWc2#+l4l*P
zg#yQB+>gC}*I}OB;;rAJwR$`zSRb3e)cJhWZ%sj06_5Mh%^ukp@E!gjxlv}d>ygGe
ze#`Z<*II|Jty5X%BIA)_WixHZlny3O&vx;N(}V&QI$sLR6f#t>d^ur;kfFlNmjcs;
z1Qk?YPM9VnsL=XSV5-nJ1(BB%rU-pgaCs>(S?HR=l$R4G30+e-@={=;&^CpR5)Ti~
zXn_E$8_Qc%IgDiQ1aFF-@PEI_rai)E_?Ea?Su9Vvt{@Y9h-*oj)sAH;-xclz9b!xA
zE-CQoZ2Gfe!^$0I?1jZ^?yNa{W2VaLU|%C~gJU(tGk!*}KB?TbeCxOCd(SU3<}=<c
z^lj@!iO<*9?-di1JmIr^_uq&2K3Xo~*I|De=3we=#CfEASN4J0xV86ZidoyTzcQ2i
zneuc=me`T<f5FGImp>P}%gxSTYBzuXvoKMXo10j4Z>L+{FLQO_c*g5u_-bKWTIjyU
zhWhpu+qWBS`%?DzGn3HgJFPu`r(8aj=@sYjr6g3oNYF(%NIu1C$7{{i`wpHKYfr2&
z<luev?xyYDXDb*)wQ8HMD@J98UU;!9Z&u%J*$EexmFgU9K4W`xYsKp$5}SX#Fx+=D
zH!ty};qI%myKC>ip5as;vu59w1koc~T?0K_7S&DdVG5j*G(n^1rekg1=UG#9W@PlF
z2>5y#c?h|Qbu4mOtdgA4tZ_=qOUzBMW6_yKDaj(u8mFYa1lc${7TE-J8J=*s)AjAo
z<7;<XTCYx2+u-n}HSx@;?;TE^j<W>#x2cO{@o=1o^NZ);k??q}p~0i!vHGgG5HsJU
zM-@s^OD^s{ta4qtI8;0HruAKq#gkP<RGvw#cxJTlrc%i5cGV?MXKJ4)XFTi>C3B&c
zOQhvhjl*`i8x~C79*ae%sf%(7eb!ff(RcGywiEB06D=AZ#~hg$Gj|?x;(sGBVVbrM
z>&cGVrRyEo$~>H;)^AuaRg7!NOUAq13R=3Xnil&N*WEbj_$?q&k-e;Ff^A5I9LvY#
zsZAntHVLd}Q(?ck;82x~+BQe4liu+x9&5R@f9#2STW%2)9<@YaD%+Q<?CO6_RKAP<
zE%JTk)h)tObE>0h1|R2lvz_AkPWSvax=+yQkesoiK5LHAx!~}qIl@j%fsAb>3F@p1
zS8Z6)zw3gae??WU_!2f21;e+EIgF01&Uec$1&6ua<d#$qVtX1SaqYU|zJL8I{@!$a
zav)&&;jN7(ignAy*nGYTOf=Z=x1r(3+)vvLSHwre7kQofyUzN=o$}&)&*yFO)$s6g
wF1a~hE<hm7y{SoqW3ybsH5p$H;|cYJ6`GSI8CBdE7#J8lUHx3vIVCg!0KGl;D*ylh

literal 0
HcmV?d00001

diff --git a/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml b/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
index 9a54d0df5..bc13c999f 100644
--- a/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
+++ b/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
@@ -373,7 +373,6 @@ schema_types:
       - repeatFrequency
       - startDate
     Service:
-      - availableChannel
       - description
       - hoursAvailable
       - name
diff --git a/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml b/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
index 9a54d0df5..bc13c999f 100644
--- a/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
+++ b/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
@@ -373,7 +373,6 @@ schema_types:
       - repeatFrequency
       - startDate
     Service:
-      - availableChannel
       - description
       - hoursAvailable
       - name
-- 
GitLab


From 70c088532c63c2c01507ddb0544e370a610c951e Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Wed, 7 May 2025 14:08:17 -0400
Subject: [PATCH 2/5] Add support for Legislation schema and update
 dependencies

Added fields and entity references for the "Legislation" schema type in configurations. Updated multiple dependencies to their latest versions, including "aws-sdk-php," "league/commonmark," and various Drupal modules, ensuring improvements, bug fixes, and compatibility.
---
 config/install/schemadotorg.settings.yml         |   9 +++++++++
 .../install/schemadotorg_diagram.settings.yml    |   8 ++++++++
 .../SchemaDotOrgReportItemController.php         |  10 ++++++++--
 .../schemadotorg_type_tray/icon/article.png      | Bin 0 -> 1020 bytes
 .../schemadotorg_type_tray/icon/legislation.png  | Bin 0 -> 1382 bytes
 5 files changed, 25 insertions(+), 2 deletions(-)
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/article.png
 create mode 100644 modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/legislation.png

diff --git a/config/install/schemadotorg.settings.yml b/config/install/schemadotorg.settings.yml
index 7d9191457..d5667a1fc 100644
--- a/config/install/schemadotorg.settings.yml
+++ b/config/install/schemadotorg.settings.yml
@@ -150,6 +150,14 @@ schema_types:
       - numberOfCredits
     Quiz:
       - hasPart
+    Legislation:
+      - name
+      - text
+      - legislationDate
+      - legislationDateOfApplicability
+      - legislationPassedBy
+      - legislationResponsible
+      - legislationType
     MediaObject:
       - name
     AudioObject:
@@ -800,6 +808,7 @@ schema_types:
         - Organization
         - Service
         - JobPosting
+        - Legislation
     education:
       label: Education
       color: '#dbe7e4'
diff --git a/modules/schemadotorg_diagram/config/install/schemadotorg_diagram.settings.yml b/modules/schemadotorg_diagram/config/install/schemadotorg_diagram.settings.yml
index 67c32349f..2d860ee5d 100644
--- a/modules/schemadotorg_diagram/config/install/schemadotorg_diagram.settings.yml
+++ b/modules/schemadotorg_diagram/config/install/schemadotorg_diagram.settings.yml
@@ -57,3 +57,11 @@ diagrams:
     title: 'Related drugs'
     parent: ''
     child: relatedDrug
+  serviceOperator:
+    title: 'Service operator'
+    parent: serviceOperator
+    child: ''
+  hiringOrganization:
+    title: 'Hiring organization'
+    parent: hiringOrganization
+    child: ''
diff --git a/modules/schemadotorg_report/src/Controller/SchemaDotOrgReportItemController.php b/modules/schemadotorg_report/src/Controller/SchemaDotOrgReportItemController.php
index f69670283..dc691eb4a 100644
--- a/modules/schemadotorg_report/src/Controller/SchemaDotOrgReportItemController.php
+++ b/modules/schemadotorg_report/src/Controller/SchemaDotOrgReportItemController.php
@@ -142,9 +142,15 @@ class SchemaDotOrgReportItemController extends ControllerBase {
     $build = $this->buildHeader();
 
     // Introduction.
-    $introduction = '<p>' . $this->t('<a href="https://Schema.org/">Schema.org</a> is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.') . '</p>'
+    $t_args = [
+      ':href_schemaorg' => 'https://Schema.org/',
+      ':href_w3_schemaorg' => 'https://www.w3.org/community/schemaorg',
+      ':href_w3_list' => 'http://lists.w3.org/Archives/Public/public-schemaorg',
+      ':href_github' => 'http://github.com/schemaorg/schemaorg',
+    ];
+    $introduction = '<p>' . $this->t('<a href=":href_schemaorg">Schema.org</a> is a collaborative, community activity with a mission to create, maintain, and promote schemas for structured data on the Internet, on web pages, in email messages, and beyond.', $t_args) . '</p>'
       . '<p>' . $this->t('Schema.org vocabulary can be used with many different encodings, including RDFa, Microdata and JSON-LD. These vocabularies cover entities, relationships between entities and actions, and can easily be extended through a well-documented extension model. Over 10 million sites use Schema.org to markup their web pages and email messages. Many applications from Google, Microsoft, Pinterest, Yandex and others already use these vocabularies to power rich, extensible experiences.') . '</p>'
-      . '<p>' . $this->t('Founded by Google, Microsoft, Yahoo and Yandex, Schema.org vocabularies are developed by an open community process, using the public-schemaorg@w3.org mailing list and through GitHub.') . '</p>'
+      . '<p>' . $this->t('Founded by Google, Microsoft, Yahoo and Yandex, Schema.org vocabularies are developed by an open <a href=":href_w3_schemaorg">community</a> process, using the <a href=":href_w3_list">public-schemaorg@w3.org</a> mailing list and through <a href=":href_github">GitHub</a>.', $t_args) . '</p>'
       . '<p>' . $this->t('A shared vocabulary makes it easier for webmasters and developers to decide on a schema and get the maximum benefit for their efforts. It is in this spirit that the founders, together with the larger community have come together - to provide a shared collection of schemas.') . '</p>';
     $build['introduction'] = ['#markup' => $introduction];
 
diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/article.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/article.png
new file mode 100644
index 0000000000000000000000000000000000000000..110c0573633071009a28dfed9702d5790acfa738
GIT binary patch
literal 1020
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z`V`V
z#WAEJ?(N*{vPT9yt;uF)Z{;{{XYQ6gB&W97=)9qTpWnf2rhzR<diB~#KkKH+Z<2C4
z-mlHtq@Dl5$6etZ8)KtDhcWA%orgIT1=6`JirWR96wZkhJmXVtahRj|;Eb#rN25jX
zftl7l0!)R=8jQ;&6xTA{eE(hk+^=nt<$lXATUhSaa1v?}I23-pv}L0}J;%f66*hJD
zyiW=&YK}_?^VCfd=`gIbV{I{*!g0qwZ4H}~#Oi|<_B*6J?td?goqq54OLK+ItWiNN
z+&h+BXxcx&@k{Oh>DEhGwY2I?3w#4Yf*%Gt8e1*fyQL}K*Y43Soh3IletSAx5zA!K
z>{n(g6ia7uQkY)TV=Q}T$6`^%WR8dNucl7f{YWZlL)(&;>r>>WnK7_9Dda6vJ|Z|(
z)7#o<Qt<A(@05@IV1IeU*zB@MbkupRAlF6QD{WKWmT<bv`gY`AxWpOu%YU-7Q`OrN
zHPo{2GCInvx)5!0c5P-hZ`U1$88WWF^yghMU9NLPG4LrDGt<s{+|NyvClvD@+7u(E
z%);;K7ugins+m3Y_xx)OJ%-2RYi#0lyi+|a74D?QhKgOAP$<!MK1xBg(0gX{>+e_2
zIb|B0<-RBPl{wPc_U$I0#w$(NH>e9FUSF<Qbk>-o#o^R<#d+5zm~7h0b!6$*<kjk>
zn@v-Cl?tD{O3V%plk(WU>Cdd4mf^u^d*9~1l?giOV3w}ey>rd&w^`iJ1u9R3M;SOt
zDBkXxU~=I4E}1G3n`<YJp1mufcJZ3m8(W4+cioh4pFefeP}TD2ER!X%mt(H&nH<%=
zX->h3MBmfwOV++rc=f7jRoRuTY45F^qJ*Vi@;54IN#5GQa>&Wj-Ied!?KrVh9}{-0
zZB{gD&+>ceGZ$pr(vGB-9CfD%4fEcVv;VuNUz;7XDSvIvEw#zrn^_h|O}wRS5cE)r
z`{|O0f7t5X%Vz4I{<g32UwN#GK>8KV7KbO%#_3WscOB+1oEn|i<B-zpqZ^=bY30`#
zod%g@6T0hyS?8E8V?7eN{Z^T}!j)Uo4urqwI3nJEx_ipRuLoz|Kf9~AI<hNOY+IzM
zsMWXMXRjT-Zl|&3xVwmm$L=e;uX7gus=7Pl<i8l#rb%}u-P`!X>iX^MO0CGII$6in
z8ar(zORJWAo9u4&?t^AA>jI92DP>#&9doY*c(X8_Oi6c9D2sB|735HvJXf&sMkeo8
w7ljEvWo|4<%T2EcH98pGloTYW_&;NT*TIK#-gh`LFfcH9y85}Sb4q9e0KBohcK`qY

literal 0
HcmV?d00001

diff --git a/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/legislation.png b/modules/schemadotorg_type_tray/images/schemadotorg_type_tray/icon/legislation.png
new file mode 100644
index 0000000000000000000000000000000000000000..b9bb4991d3a88ff2f67842db8c7576ef646c1e1b
GIT binary patch
literal 1382
zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_ts7>k44ofy`glX=O&z^dTs
z;uum9_jXQg*=z%WBffgqp70f}yZpqe@Lj<7q=o)he%zFpG4WgT(z|~q?}_lR{(M{1
zBVm{Gzm}o}+@ij0#U2U=Cn+?lOi18k;a1mHX=Eu@h_HxM<W!l#eDKgoE>8t3zCHW)
z*_FqB|9t88=cnIy{&~0S-S_9upYJ~Bv2X92RZe*dJq%%YU+sFAoS#s}{N(N1w|n3J
z-l(+dQkj238KVnRvdVUGjfagH2W|+97*2Tn@yF`|i-6*)t2UbtACn5zU|KYDul1LD
z%_pB<mQ-b4Rc0!(k^6nE@&D7ue#?V5uRqH!<}7@oCQ5Ze!qaIELMP(ci%y-=)Q-?S
z!aON^0;llHD3_9{p-CsVo{$y1D3x+!WuFy$#Qgax;ZD=$xw0jh$$BlH`d{e8(|hiX
zi~db^kkZ|HYe$b&Y^z=Slm|MiREkPhFla8bwY9bVUi<%Xn)JUlrSZ|9wfvadw#Hrb
zoNMTPm?cfdM7!#!qU>@>k6zD93QJ$hzW=ED*pzW)qhVU!{qOqm@$rX~ttQPswefuI
z{d$k%Yh{WjTwk@F)8p|X-#uNjj+-85$NFx3>?^d^Gv9Q=w496Ugsv&@D%`7D-MAr5
z$H&_@()ew6uOl;u^|WdCv=k=gTwEh`O+|Bp?w2q|N4F`fyH9iGzU6c-oVvim?MIM8
zh79*!69KhoH|7Zwu4xOLpZqJVDpTRaliS((PCYBU0(7KAn~rU`<jttaW9PG+UBx3v
zbw$4B1l_Me4igxQwS%2Pil;89SmF@ye_EBIz@Z!MuM(dBx~ApW=Gl<5R-DQ4(e-b+
z9EHB2O-Yj&9BZRr$Fe#}?23?`7TV;K%_`*hUQ0k_&dsYTE@9!EU8_YoUR`&7uOx8D
zBSJPTw5cbXQONbZl7PyrlhZCrIOT*+U2r3+VS(M=FXxyPd6uj`yvS=p<yHr!mvdR0
zSgxmZyG~v3Bdc-2Kbx<13>!~~z14DLyT;JD>^mce(CtaOw?dne)-X2x`gE<D{fJTY
z4Xs2T2enNOO0V`ZH?<h0>E5y2{V)13i-<Zm%h%1V_p}9g7Yp!g^SU4>ZZwHeDD=H3
zhtSH2x>3)CM6{V%zHXd)kFg_tTSf?{kuYQDnsSCFmaMdHx2X#%1O-a|Osm?hyU8_5
z^~42Jg^OQ<9BxeB>bU!+tzNbQo7D}y^Rn7~Zv%JVy|dUR=gg$!t)(0OstR1wTwcc7
zadW!1sL2Zd$ctaw*fy1HRi3lykXpjU+mSW>{tJ!T^mH0ru3N8jc1k;YY4grWTszn7
zKJ-eq!R5@Xtw(2yc%<wNo!uQ3Ecl9j?UbbsH{L3VEWh@Ad)4aq?HQ~aukbe=%=x-t
z?c}bv(%C!tpPyV7y(27eQEqwJ=~mWFrAyDe6t$hclw;Ye+nc0<ubGsk^`CZr|7vo#
zdA@E&)pIMw1zatzt#^(|IO^Bjs4}{LZ=YTBhw5!785Y)D`t`T4n=5jKMEPEm2|InX
z{_o!Nc*!5j+Pgo#sxm&^tA79f{pVo}!JBOwa+YrA^vKT4kbTbUqMf&FKFgsUPj09+
zTFg4jGu1(2y3B1A0r$-_7annFy8j{3CLsH8&hG^WT^#0wZ};$?a(?x`8WY|qmX^JL
zdLB&)mzh+)Mn!<xi}T2V5YOqHE|2CN+=$GMX5#$$rLFOJ$@EKGJ6>q5cA1$y(K>9A
zsmDuCo)*8kIUbf195iPCkx~_~U%zsq5J&3d_{A)bo|~EmF)hsbls(1a&z@y&UJ6ru
p>w1Mc=3l?!!P&Cu<ob*90iTUB6t{bHGcYhPc)I$ztaD0e0swK2dD;K~

literal 0
HcmV?d00001

-- 
GitLab


From 9e3a4bf54ec438fb83fc16f4a83e45f98e130978 Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Wed, 7 May 2025 21:23:43 -0400
Subject: [PATCH 3/5] Update dependencies and remove deprecated
 patches/modules.

Replaced outdated modules and patches with supported versions to ensure compatibility with Drupal 11. Updated package versions include `duration_field`, `file_delete`, `webform`, and others, alongside the removal of deprecated modules like `ckeditor5_embedded_content` and unused patches. Ensured consistency in composer libraries and resolved dependency issues.
---
 composer.libraries.json | 1 -
 1 file changed, 1 deletion(-)

diff --git a/composer.libraries.json b/composer.libraries.json
index 6fc539b6a..d3bd118b6 100644
--- a/composer.libraries.json
+++ b/composer.libraries.json
@@ -61,7 +61,6 @@
     },
     "patches": {
       "drupal/core": {
-        "Issue #3388047: Suppress Drupal core entity reference errors": "https://www.drupal.org/files/issues/2024-03-22/schemadotorg-drupal-core-3388047-4.patch",
         "Issue #3345064: Media library field_widget_id is not unique enough": "https://www.drupal.org/files/issues/2023-02-28/3345064.patch",
         "Issue #3356667: Error: Cannot read properties of undefined (reading 'settings') with dialog.position.js": "https://www.drupal.org/files/issues/2024-08-11/3356667-undefined-settings-dialog-position-52.patch"
       },
-- 
GitLab


From 585d6f4f2929e3fb8f4ea6b05439caa5a968bd38 Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Thu, 8 May 2025 03:52:53 -0400
Subject: [PATCH 4/5] Add support for Legislation schema in settings snapshot

---
 .../config/snapshot/schemadotorg.settings.yml            | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml b/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
index 3ffceadf6..ffe7e25fb 100644
--- a/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
+++ b/modules/schemadotorg_starterkit/tests/schemadotorg/config/snapshot/schemadotorg.settings.yml
@@ -157,6 +157,14 @@ schema_types:
       - text
     Quiz:
       - hasPart
+    Legislation:
+      - legislationDate
+      - legislationDateOfApplicability
+      - legislationPassedBy
+      - legislationResponsible
+      - legislationType
+      - name
+      - text
     MediaObject:
       - name
     AudioObject:
@@ -802,6 +810,7 @@ schema_types:
         - Organization
         - Service
         - JobPosting
+        - Legislation
     education:
       label: Education
       color: '#dbe7e4'
-- 
GitLab


From d571bf88609dfd3fcb78a6620221ba22e50c52cd Mon Sep 17 00:00:00 2001
From: jrockowitz <3537824+jrockowitz@users.noreply.github.com>
Date: Thu, 8 May 2025 03:56:14 -0400
Subject: [PATCH 5/5] Add support for "Legislation" and rename "Hospitality" to
 "Place"

This commit introduces "Legislation" as a new type with associated fields and relationships. Additionally, the "Hospitality" category has been renamed to "Place" and updated with new subtypes. Minor field additions and adjustments were made to improve data structure consistency.
---
 .../Kernel/SchemaDotOrgTypeTrayKernelTest.php |  2 +-
 .../config/snapshot/schemadotorg.settings.yml | 29 +++++++++++++++++--
 .../config/snapshot/schemadotorg.settings.yml | 29 +++++++++++++++++--
 3 files changed, 53 insertions(+), 7 deletions(-)

diff --git a/modules/schemadotorg_type_tray/tests/src/Kernel/SchemaDotOrgTypeTrayKernelTest.php b/modules/schemadotorg_type_tray/tests/src/Kernel/SchemaDotOrgTypeTrayKernelTest.php
index 0f8723dd2..67d3e84f6 100644
--- a/modules/schemadotorg_type_tray/tests/src/Kernel/SchemaDotOrgTypeTrayKernelTest.php
+++ b/modules/schemadotorg_type_tray/tests/src/Kernel/SchemaDotOrgTypeTrayKernelTest.php
@@ -51,7 +51,7 @@ class SchemaDotOrgTypeTrayKernelTest extends SchemaDotOrgEntityKernelTestBase {
       'content' => 'Content',
       'organization' => 'Organization',
       'education' => 'Education',
-      'hospitality' => 'Hospitality',
+      'place' => 'Place',
       'food' => 'Food',
       'media' => 'Media',
       'medical_organization' => 'Medical organization',
diff --git a/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml b/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
index bc13c999f..4d471c58f 100644
--- a/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
+++ b/tests/schemadotorg/entity_types/config/snapshot/schemadotorg.settings.yml
@@ -150,6 +150,14 @@ schema_types:
       - numberOfCredits
     Quiz:
       - hasPart
+    Legislation:
+      - name
+      - text
+      - legislationDate
+      - legislationDateOfApplicability
+      - legislationPassedBy
+      - legislationResponsible
+      - legislationType
     MediaObject:
       - name
     AudioObject:
@@ -800,6 +808,7 @@ schema_types:
         - Organization
         - Service
         - JobPosting
+        - Legislation
     education:
       label: Education
       color: '#dbe7e4'
@@ -807,12 +816,19 @@ schema_types:
         - EducationalOrganization
         - CourseInstance
         - Course
-    hospitality:
-      label: Hospitality
+    place:
+      label: Place
       color: '#c5dedd'
       types:
-        - LodgingBusiness
         - Accommodation
+        - AdministrativeArea
+        - CivicStructure
+        - Landform
+        - LandmarksOrHistoricalBuildings
+        - LodgingBusiness
+        - Residence
+        - TouristAttraction
+        - TouristDestination
     food:
       label: Food
       color: '#f0efeb'
@@ -1337,6 +1353,8 @@ schema_properties:
       unlimited: true
     jobBenefits:
       unlimited: true
+    jurisdiction:
+      type: text_long
     keywords:
       unlimited: true
     knowsAbout:
@@ -1454,6 +1472,9 @@ schema_properties:
       scale: 0
       min: 0
       max: 1000
+    provider:
+      label: Providers
+      unlimited: true
     publication:
       label: Publications
       unlimited: true
@@ -1507,6 +1528,8 @@ schema_properties:
     secondaryPrevention:
       label: 'Secondary preventions'
       unlimited: true
+    serviceOutput:
+      type: text_long
     signOrSymptom:
       label: 'Sign or symptoms'
       unlimited: true
diff --git a/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml b/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
index bc13c999f..4d471c58f 100644
--- a/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
+++ b/tests/schemadotorg/schemadotorg_recipe_test/config/snapshot/schemadotorg.settings.yml
@@ -150,6 +150,14 @@ schema_types:
       - numberOfCredits
     Quiz:
       - hasPart
+    Legislation:
+      - name
+      - text
+      - legislationDate
+      - legislationDateOfApplicability
+      - legislationPassedBy
+      - legislationResponsible
+      - legislationType
     MediaObject:
       - name
     AudioObject:
@@ -800,6 +808,7 @@ schema_types:
         - Organization
         - Service
         - JobPosting
+        - Legislation
     education:
       label: Education
       color: '#dbe7e4'
@@ -807,12 +816,19 @@ schema_types:
         - EducationalOrganization
         - CourseInstance
         - Course
-    hospitality:
-      label: Hospitality
+    place:
+      label: Place
       color: '#c5dedd'
       types:
-        - LodgingBusiness
         - Accommodation
+        - AdministrativeArea
+        - CivicStructure
+        - Landform
+        - LandmarksOrHistoricalBuildings
+        - LodgingBusiness
+        - Residence
+        - TouristAttraction
+        - TouristDestination
     food:
       label: Food
       color: '#f0efeb'
@@ -1337,6 +1353,8 @@ schema_properties:
       unlimited: true
     jobBenefits:
       unlimited: true
+    jurisdiction:
+      type: text_long
     keywords:
       unlimited: true
     knowsAbout:
@@ -1454,6 +1472,9 @@ schema_properties:
       scale: 0
       min: 0
       max: 1000
+    provider:
+      label: Providers
+      unlimited: true
     publication:
       label: Publications
       unlimited: true
@@ -1507,6 +1528,8 @@ schema_properties:
     secondaryPrevention:
       label: 'Secondary preventions'
       unlimited: true
+    serviceOutput:
+      type: text_long
     signOrSymptom:
       label: 'Sign or symptoms'
       unlimited: true
-- 
GitLab