Index: openacs-4/packages/news/www/item-create.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/item-create.tcl,v
diff -u -r1.17.2.3 -r1.17.2.4
--- openacs-4/packages/news/www/item-create.tcl	27 Jan 2023 16:53:12 -0000	1.17.2.3
+++ openacs-4/packages/news/www/item-create.tcl	27 Jan 2023 17:14:02 -0000	1.17.2.4
@@ -14,8 +14,8 @@
     {publish_lead {}}
     {publish_body:allhtml {}}
     {publish_body.format {}}
-    {publish_date_ansi:clock(%Y-%m-%d) {now}}
-    {archive_date_ansi:clock(%Y-%m-%d) {}}
+    {publish_date:clock(%Y-%m-%d) {now}}
+    {archive_date:clock(%Y-%m-%d) {}}
     {permanent_p:boolean {}}
 }
 
@@ -41,11 +41,11 @@
 set active_days [parameter::get -parameter ActiveDays -default 14]
 set date_proj [clock format [clock scan "$active_days days"] -format %Y-%m-%d]
 
-if { $publish_date_ansi eq "" || $publish_date_ansi eq "now"} {
-    set publish_date_ansi $date_today
+if { $publish_date eq "" || $publish_date eq "now"} {
+    set publish_date $date_today
 }
-if { $archive_date_ansi eq "" } {
-    set archive_date_ansi $date_proj
+if { $archive_date eq "" } {
+    set archive_date $date_proj
 }
 
 ad_form -name "news" -action "preview" -html {enctype "multipart/form-data"} -form {
@@ -70,11 +70,11 @@
     ad_form -extend -name "news" -form {
         {publish_date:h5date,optional
             {label "[_ news.Release_Date]"}
-            {value $publish_date_ansi}
+            {value $publish_date}
         }
         {archive_date:h5date,optional
             {label "[_ news.Archive_Date]"}
-            {value $archive_date_ansi}
+            {value $archive_date}
         }
         {permanent_p:text(checkbox),optional
             {label "[_ news.never]"}
Index: openacs-4/packages/news/www/preview.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/preview.tcl,v
diff -u -r1.38.2.3 -r1.38.2.4
--- openacs-4/packages/news/www/preview.tcl	8 Mar 2022 09:05:03 -0000	1.38.2.3
+++ openacs-4/packages/news/www/preview.tcl	27 Jan 2023 17:14:02 -0000	1.38.2.4
@@ -14,11 +14,9 @@
     {publish_body:allhtml,trim ""}
     publish_body.format:path,notnull
     {revision_log ""}
-    {publish_date:array ""}
-    {archive_date:array ""}
+    {publish_date:clock(%Y-%m-%d) ""}
+    {archive_date:clock(%Y-%m-%d) ""}
     {permanent_p:boolean "f"}
-    publish_date_ansi:optional
-    archive_date_ansi:optional
     imgfile:optional
 
 } -errors {
@@ -78,42 +76,15 @@
 }
 set context [list $title]
 
-# DRB: not sure about the accuracy of this comment so am leaving this.
-# if we've come back from the image page, set up dates again
-if {[info exists publish_date_ansi] && [info exists archive_date_ansi]} {
-    set exp {([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})}
-    if { ![regexp $exp $publish_date_ansi match \
-               publish_date(year) publish_date(month) publish_date(day)]
-         || ![regexp $exp $archive_date_ansi match \
-                  archive_date(year) archive_date(month) archive_date(day)] } {
-        ad_return_complaint 1 [_ news.Publish_archive_dates_incorrect]
-        ad_script_abort
-    }
-}
 # deal with Dates, granularity is 'day'
 
 # with news_admin privilege fill in publish and archive dates
 if { $news_admin_p || [parameter::get -parameter ApprovalPolicy] eq "open" } {
 
-    if { [info exists publish_date(year)] && [info exists publish_date(month)] && [info exists publish_date(day)] } {
-        set publish_date_ansi "$publish_date(year)-$publish_date(month)-$publish_date(day)"
-    } else {
-        set publish_date_ansi ""
-    }
-    if { [info exists archive_date(year)] && [info exists archive_date(month)] && [info exists archive_date(day)] } {
-        set archive_date_ansi "$archive_date(year)-$archive_date(month)-$archive_date(day)"
-    } else {
-        set archive_date_ansi ""
-    }
+    set publish_date_pretty [lc_time_fmt $publish_date "%Q"]
+    set archive_date_pretty [lc_time_fmt $archive_date "%Q"]
 
-    if { ![template::util::date::validate $publish_date_ansi ""] } {
-        set publish_date_pretty [lc_time_fmt $publish_date_ansi "%Q"]
-    }
-    if { ![template::util::date::validate $archive_date_ansi ""] } {
-        set archive_date_pretty [lc_time_fmt $archive_date_ansi "%Q"]
-    }
-
-    if { [dt_interval_check $archive_date_ansi $publish_date_ansi] >= 0 } {
+    if { [dt_interval_check $archive_date $publish_date] >= 0 } {
         ad_return_error \
             [_ news.Scheduling_Error] \
             [_ news.lt_The_archive_date_must]
@@ -145,11 +116,11 @@
 
     set hidden_vars [export_vars -form {
         publish_title publish_lead publish_body publish_body.format
-        publish_date_ansi archive_date_ansi html_p permanent_p imgfile
+        publish_date archive_date html_p permanent_p imgfile
     }]
     set image_vars [export_vars -form {
         publish_title publish_lead publish_body publish_body.format
-        publish_date_ansi archive_date_ansi html_p permanent_p action
+        publish_date archive_date html_p permanent_p action
     }]
     set form_action "<form method='post' action='item-create-3' enctype='multipart/form-data' class='inline-form'>"
     set edit_action "<form method='post' action='item-create' class='inline-form'>"
@@ -159,11 +130,11 @@
     # Form vars to carry through Confirmation Page
     set hidden_vars [export_vars -form {
         item_id revision_log publish_title publish_lead publish_body publish_body.format
-        publish_date_ansi archive_date_ansi permanent_p html_p imgfile
+        publish_date archive_date_ansi permanent_p html_p imgfile
     }]
     set image_vars [export_vars -form {
         publish_title publish_lead publish_body publish_body.format
-        publish_date_ansi archive_date_ansi html_p permanent_p action item_id revision_log
+        publish_date archive_date_ansi html_p permanent_p action item_id revision_log
     }]
     set form_action "<form method='post' action='admin/revision-add-3' class='inline-form'>"
     set edit_action "<form method='post' action='admin/revision-add' class='inline-form'>"
Index: openacs-4/packages/news/www/admin/revision-add.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/news/www/admin/revision-add.tcl,v
diff -u -r1.14.2.2 -r1.14.2.3
--- openacs-4/packages/news/www/admin/revision-add.tcl	24 Sep 2020 11:14:31 -0000	1.14.2.2
+++ openacs-4/packages/news/www/admin/revision-add.tcl	27 Jan 2023 17:14:02 -0000	1.14.2.3
@@ -12,7 +12,7 @@
 
 } {
 
-    item_id:naturalnum,notnull
+    item_id:object_id,notnull
 
 } -properties {
 
@@ -42,8 +42,6 @@
     set archive_date [clock format [clock scan "$active_days days"] -format %Y-%m-%d]
 }
 
-set lc_format [lc_get formbuilder_date_format]
-
 set action "[_ news.Revision]"
 ns_log notice "NEWS REVISION"
 ad_form -name "news_revision" -export {item_id action} -html {enctype "multipart/form-data"} -action "../preview" -form {
@@ -63,15 +61,13 @@
         {options {editor ckeditor5 JSEditorClass ClassicEditor}}
         {value "[list $publish_body $publish_format]"}
     }
-    {publish_date:date,optional
+    {publish_date:h5date,optional
         {label "[_ news.Release_Date]"}
-        {value "[split $publish_date -]"}
-        {format {$lc_format}}
+        {value $publish_date}
     }
-    {archive_date:date,optional
+    {archive_date:h5date,optional
         {label "[_ news.Archive_Date]"}
-        {value "[split $archive_date -]"}
-        {format {$lc_format}}
+        {value $archive_date}
     }
     {permanent_p:text(checkbox),optional
         {label "[_ news.never]"}