83 Commits

Author SHA1 Message Date
Fred Gleason
a5e62c7190 2023-05-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression that caused the 'Repost' action in the 'List
	Feeds' dialog to fail to post the feed XML in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-25 14:57:06 -04:00
Fred Gleason
cb290a2226 2023-05-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the podcasting subsystem that could cause SFTP
	operations to fail due to unknown SSH host certificates.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-25 11:21:31 -04:00
Fred Gleason
ff63adcf3c 2023-05-14 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CDN_PURGE_PLUGIN_PATH' field to the database.
	* Incremented the database version to 369.
	* Added ' RDFeed::cdnPurgePluginPath()' and
	'RDFeed::setCdnPurgePluginPath()' methods.
	* Removed the RD_MODULES_DIR #define from 'lib/rd.h'.
	* Changed the RD_PYPAD_SCRIPT_DIR #define in 'lib/rd.h' to be
	a static value of "/usr/lib/rivendell/pypad".
	* Added a 'CDN Purge Plug-In' control to the 'Feed' dialog in
	rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-14 08:56:49 -04:00
Fred Gleason
afd6a67cd5 2023-05-08 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.SHA1_HASH' field to the database.
	* Incremented the database version to 368.
	* Added 'RDFeed::sha1Hash()' and 'RDFeed::setSha1Hash()' methods.
	* Added a 'RDSha1HashData()' function.
	* Optimized the podcasting subsystem so as to upload feed XML only
	when the XML contents have actually changed.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-08 13:23:01 -04:00
Fred Gleason
47d30f803e 2023-05-062023-05-06 Fred Gleason <fredg@paravelsystems.com>
* Refactored the RSS reports in rdadmin(1) to include information on
	missing	items.
	* Modified the feed report in rdcastmanager to include information
	on missing items.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-05-06 11:17:44 -04:00
Fred Gleason
3cf2fe1ce4 2023-04-27 Fred Gleason <fredg@paravelsystems.com>
* Removed a 'RDFeed::generateReport()' methods.
	* Added a 'DownloadRss()' method to the WebAPI.
	* Added a 'RDXsltEngine' class.
	* Added a 'Generate Front Report' item to the right-click menu in
	the 'Podcast Feeds' list in the 'Rivendell Feed List' dialog in
	rdadmin(1).
	* Added a 'Generate Back Report' item to the right-click menu in
	the 'Podcast Feeds' list in the 'Rivendell Feed List' dialog in
	rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-04-27 16:55:54 -04:00
Fred Gleason
23b011cc93 2023-04-25 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDFeed::generateReport()' method.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-04-25 15:25:39 -04:00
Fred Gleason
d9e7fde1a7 2023-02-15 Fred Gleason <fredg@paravelsystems.com>
* Modified the podcasting system to sort items in the XML feed
	on the basis of the 'Air Date/Time' rather than the 'Posted By'
	datetime.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-02-15 12:33:46 -05:00
Fred Gleason
100e5dc025 2023-01-24 Fred Gleason <fredg@paravelsystems.com>
* Added more detail to data transfer errors generated by the
	podcasting subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2023-01-24 15:41:25 -05:00
Fred Gleason
4fcd1bcf17 2022-12-19 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdcastmanager(1) that could cause items from
	non-selected feeds to appear in the 'Podcast Item List' dialog.
	* Fixed a regression in rdcastmanager(1) that could cause a segfault
	when posting a new item.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-12-19 12:22:11 -05:00
Fred Gleason
8beb1f875a 2022-12-08 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in rdcastmanager(1) that could cause a segfault when
	uploading a new item.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-12-08 15:18:03 -05:00
Fred Gleason
d33fae60a7 2022-11-17 Fred Gleason <fredg@paravelsystems.com>
* Simplified error return descriptions for the podcast methods in
	the Web API.
	* Removed the 'RDFeed::Error' enumeration.
	* Removed the 'RDFeed::errorString()' method.
	* Fixed bugs in rdcatchd(8) in handling errors when posting to
	RSS feeds.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-17 15:55:26 -05:00
Fred Gleason
030bc6acae 2022-11-10 Fred Gleason <fredg@paravelsystems.com>
* Added code to catch warning exception when processing image
	conversions in 'RDIMResizeImage()'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-10 17:36:19 -05:00
Fred Gleason
0c139bf849 2022-11-09 Fred Gleason <fredg@paravelsystems.com>
* Added a file format check to the 'Image Manager' dialog in
	rdadmin(1) to ensure that only JPEG or PNG formatted image files can
	be imported.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-09 11:07:57 -05:00
Fred Gleason
4a3454cb8d 2022-11-07 Fred Gleason <fredg@paravelsystems.com>
* Added a dependency for ImageMagick's 'Magick++' library interface.
	* Added a 'FEED_IMAGES.DATA_MID_THUMB' field to the database.
	* Added a 'FEED_IMAGES.DATA_SMALL_THUMB' field to the database.
	* Incremented the database version to 365.
	* Optimized loading of thumbnail image data in rdadmin(1),
	rdcastmanager(1) and rdcatch(1).
	* Re-enabled uploads to RSS feeds in rdcatch(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-11-07 16:52:13 -05:00
Fred Gleason
882b77e703 2022-09-30 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in the podcasting subsystem where a feed with no
	provisioned images would generated invalid image URLs.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-09-30 13:22:40 -04:00
Fred Gleason
fb727eb3dc 2022-09-06 Fred Gleason <fredg@paravelsystems.com>
* Added an Online Feed Report to rdcastmanager(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-09-06 16:21:11 -04:00
Fred Gleason
2fbc9681b4 2022-03-25 Fred Gleason <fredg@paravelsystems.com>
* Reverted the following changes:
	2022-03-09 Fred Gleason <fredg@paravelsystems.com>
 	  * Fixed a regression in rdlogedit(1) that caused events from
	  previously viewed logs to be prepended to subsequent logs viewed
	  during the same session.
	2022-03-09 Fred Gleason <fredg@paravelsystems.com>
	  * Refactored the 'RDAddLog' dialog to allow for instance reuse.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-03-25 12:04:39 -04:00
Fred Gleason
3a41e13afd 2022-03-09 Fred Gleason <fredg@paravelsystems.com>
* Refactored the 'RDAddLog' dialog to allow for instance reuse.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-03-09 15:42:55 -05:00
Fred Gleason
c2431e2f4f 2022-03-08 Fred Gleason <fredg@paravelsystems.com>
* Added a 'direct' namespace to the 'Apple iTunes' and
	'Apple iTunes + Superfeed' RSS schemas.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2022-03-08 14:37:04 -05:00
Fred Gleason
ac594cc68b 2021-09-01 Fred Gleason <fredg@paravelsystems.com>
* Cleaned up deprecation warnings for 'QString::sprintf()'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-09-01 19:59:37 -04:00
Fred Gleason
0fd02861f9 2021-04-17 Fred Gleason <fredg@paravelsystems.com>
* Escaped all SQL identifiers in 'lib/'.
	* Replaced " with ' delimiters in all SQL literal strings in 'lib/'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-04-17 19:47:05 -04:00
Fred Gleason
89a0d72439 2021-02-23 Fred Gleason <fredg@paravelsystems.com>
* Removed the Qt3Support library from the build system.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2021-02-23 18:07:21 -05:00
Fred Gleason
ca7ead3ea3 2020-12-27 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'RDLogEvent' class.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-12-27 17:20:58 -05:00
Fred Gleason
57f2917ceb 2020-11-24 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'USERS.ADMIN_USERS_PRIV' field from the database.
	* Added a 'USERS.ADMIN_RSS_PRIV' field to the database.
	* Incremented the database version to 346.
	* Added 'RDUser:adminRss()' and 'RDUser::setAdminRss()' methods.
	* Added an 'Administer RSS Feeds' checkbox to the 'Administrative
	Rights' section of the 'User' dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-11-24 18:57:20 -05:00
Fred Gleason
5e22f2ead1 2020-09-29 Fred Gleason <fredg@paravelsystems.com>
* Fixed a bug in 'RDFeed::postCut()' that could throw an intermittent
	'Unknown Error' message.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-29 21:17:07 -04:00
Fred Gleason
929ab22613 2020-09-29 Fred Gleason <fredg@paravelsystems.com>
* Added the name of the Rivendell library component to 'Unknown Error'
	messages.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-29 20:46:07 -04:00
Fred Gleason
944e14bb6d 2020-09-29 Fred Gleason <fredg@paravelsystems.com>
* Added debugging messages to syslog for the podcasting subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-29 13:43:33 -04:00
Fred Gleason
c1fce3006e 2020-09-22 Fred Gleason <fredg@paravelsystems.com>
* Implemented the 'Repost' button on the 'Rivendell Feed List'
	dialog in rdadmin(1).
	* Added an 'Unpost' button to the 'Rivendell Feed List' dialog
	in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-23 16:41:13 -04:00
Fred Gleason
26bcbcb86b 2020-09-22 Fred Gleason <fredg@paravelsystems.com>
* Renamed the 'RDFeed::deleteImages()' method to
	'RDFeed::removeAllImages()'.
2020-09-23 14:34:37 -04:00
Fred Gleason
9ae7f909cb 2020-09-22 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PostImage' method to the Web API.
	* Added a 'RemoveImage' method to the Web API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-23 13:11:11 -04:00
Fred Gleason
5a549b7866 2020-09-21 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PostPodcast' method to the Web API.
	* Added a 'RemovePodcast' method to the Web API.
	* Added a 'PostRss' method to the Web API.
	* Added a 'RemoveRss' method to the Web API.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-22 15:20:01 -04:00
Fred Gleason
6d3a60d174 2020-09-21 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PODCASTS.SHA1_HASH' field to the database.
	* Incremented the database version to 335.
	* Added 'RDPodcast::sha1Hash()' and 'RDPodcast::setSha1Hash()'
	methods.
	* Implemented audio relinking for podcast media files.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-09-21 10:24:00 -04:00
Fred Gleason
c5de016536 2020-08-19 Fred Gleason <fredg@paravelsystems.com>
* Changed the database field 'FEEDS.PURGE_PASSWORD' from
	'varchar(64)' to 'text'.
	* Changed the contents of the 'FEEDS.PURGE_PASSWORD' database
	field from plaintext to Base64 encoding.
	* Incremented the database version to 334.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-19 13:28:13 -04:00
Fred Gleason
ecd2a2d427 2020-08-19 Fred Gleason <fredg@paravelsystems.com>
* Added a 'STATIONS.SSH_IDENTITY_FILE' field to the database.
	* Added a 'RECORDINGS.URL_USE_ID_FILE' field to the database.
	* Added a 'FEEDS.PURGE_USE_ID_FILE' field to the database.
	* Incremented the database version to 333.
	* Added 'RDStation::sshIdentityFile()' and
	'RDStation::setSshIdentityFile()' methods.
	* Added 'RDRecording::urlUseIdFile()' and
	'RDRecording::setUrlUseIdFile()' methods.
	* Added 'RDFeed::purgeUseIdFile()' and 'RDFeed::setPurgeUseIdFile()'
	methods.
	* Added a 'SSH Ident. File' control to the 'Host' dialog in
	rdadmin(1).
	* Added an 'Authenticate with local identity file' checkbox to
	the 'Feed' dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-19 10:44:41 -04:00
Fred Gleason
88e0544874 2020-08-11 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CHANNEL_AUTHOR_IS_DEFAULT' field to the database.
	* Incremented the database version to 332.
	* Added 'RDFeed::channelAuthorIsDefault()' and
	'RDFeed::setChannelAuthorIsDefault()' methods.
	* Added a 'Use as default Item Author' checkbox to the 'Edit Feed'
	dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-11 18:51:13 -04:00
Fred Gleason
9a428ad855 2020-08-08 Fred Gleason <fredg@paravelsystems.com>
* Added a 'PODCASTS.ORIGIN_LOGIN_NAME' field to the database.
	* Added a 'PODCASTS.ORIGIN_STATION' field to the database.
	* Incremented the database version to 330.
	* Changed the 'Origin' column to 'Start' in the 'Podcast Item List'
	dialog in rdcastmanager(1).
	* Added a 'Posted By' column to the 'Podcast Item List'	dialog in
	rdcastmanager(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-08 14:37:48 -04:00
Fred Gleason
a16e1b0dcc 2020-08-08 Fred Gleason <fredg@paravelsystems.com>
* Modified rdcastmanager(1) to apply the cart title as the default
	item title when posting from a cart/cut.
	* Modified rdcastmanager(1) to apply the file metadata or filename
	as the default item title when posting from a file.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-08 12:25:52 -04:00
Fred Gleason
e0af63d3e1 2020-08-07 Fred Gleason <fredg@paravelsystems.com>
* Added a 'SYSTEM.RSS_PROCESSOR_STATION' field to the database.
	* Added a 'PODCASTS.EXPIRATION_DATETIME' field to the database.
	* Dropped the 'PODCASTS.SHELF_LIFE' field from the database.
	* Incremented the database version to 329.
	* Modified convention to use local system time for all podcast
	components.
	* Added 'RDPodcast::expirationDateTime()' and
	'RDPodcast::setExpirationDateTime()' methods.
	* Removed 'RDPodcast::shelfLife()' and 'RDPodcast::setShelfLife()'
	methods.
	* Added an rdrssd(8) daemon.
	* Removed the rdpurgecasts(8) utility.
	* Added 'RDSystem::rssProcessorStation()' and
	'RDSystem::setRssProcessorStation()' methods.
	* Added a 'Process RSS Updates' control to the 'System-Wide Settings'
	dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-07 17:06:50 -04:00
Fred Gleason
7d62e200ba 2020-08-04 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Log Render Options' dialog to rdcastmanager(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-04 16:07:45 -04:00
Fred Gleason
f13cb9ee89 2020-08-02 Fred Gleason <fredg@paravelsystems.com>
* Added a 'Post from Log' button to the 'Podcast List' dialog
	in rdcastmanager(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-08-02 10:54:07 -04:00
Fred Gleason
2eba546453 2020-07-03 Fred Gleason <fredg@paravelsystems.com>
* Dropped the 'FEEDS.AUDIENCE_METRICS' field from the database.
	* Dropped the 'FEEDS.KEEP_METADATA' field from the database.
	* Dropped the 'FEEDS.MEDIA_LINK_MODE' field from the database.
	* Dropped the 'FEEDS.REDIRECT_PATH' field from the database.
	* Dropped the 'CAST_DOWNLOADS' table from the database.
	* Incremented the database version to 328.
	* Removed support for dynamically generated RSS feed metadata.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-07-03 12:57:13 -04:00
Fred Gleason
eded76eed9 2020-07-02 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDApplication::rssSchemas()' method.
	* Removed the 'RDFeed::rssSchemas()' method.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-07-02 19:04:10 -04:00
Fred Gleason
5d6ec1e5ec 2020-07-02 Fred Gleason <fredg@paravelsystems.com>
* Added support for iTunes subcategories to the podcast subsystem.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-07-02 18:23:18 -04:00
Fred Gleason
8bae1332c0 2020-07-02 Fred Gleason <fredg@paravelsystems.com>
* Added a 'FEEDS.CHANNEL_SUB_CATEGORY' field to the database.
	* Incremented the database version to 327.
	* Added 'RDFeed::channelSubCategory()' and
	'RDFeed::setChannelSubCategory()' methods.
	* Added a 'RDRssCategoryBox' widget.
	* Updated the 'Edit Feed' dialog in rdadmin(1) to use the
	'RDRssCategoryBox' widget.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-07-02 17:26:39 -04:00
Fred Gleason
a3fcd11bab 2020-06-30 Fred Gleason <fredg@paravelsystems.com>
* Removed the 'exemplar' parameter from the 'RDFeed::create()'
	method.
	* Removed the 'Base Feed On' dropdown from the 'Add Feed'
	dialog in rdadmin(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-06-30 15:34:35 -04:00
Fred Gleason
4f96349789 2020-06-30 Fred Gleason <fredg@paravelsystems.com>
* Added a 'RDFeed::publicUrl()' static method.
	* Added a 'Public URL' column in the 'List Feeds' dialog in
	rdadmin(1).
	* Removed the 'Superfeed' and 'Description' columns from the
	main window of rdcastmanager(1).
	* Added a 'Public URL' column and a 'Copy URL to Clipboard'
	button to the main window of rdcastmanager(1).

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-06-30 15:15:19 -04:00
Fred Gleason
7ff0b9626f 2020-06-04 Fred Gleason <fredg@paravelsystems.com>
* Added an 'iTunes + Superfeed' RSS schema.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-06-04 15:10:45 -04:00
Fred Gleason
69e253649e 2020-05-21 Fred Gleason <fredg@paravelsystems.com>
* Fixed bugs in the podcasting system that caused corrupt URLs
	to be generated for GUID and image tags for items contained in
	a superfeed.
	* Commented out file posting code in the web version of
	RDCastManager.
	* Disabled the 'Post from Cart/Cut', 'Post from File', 'Edit' and
	'Delete' buttons when showing a superfeed in the 'Podcast List'
	dialog of rdcastmanager(1).
2020-05-21 16:29:59 -04:00
Fred Gleason
491a08dfed 2020-05-21 Fred Gleason <fredg@paravelsystems.com>
* Added a check to verify correct size of imported images in
	'RDFeed::importImageFile()'.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
2020-05-21 13:34:04 -04:00