diff options
| author | 2024-10-14 09:34:16 +0200 | |
|---|---|---|
| committer | 2024-10-14 09:34:16 +0200 | |
| commit | 256dcc21bb222184d5e917ea57cec334b74b96f4 (patch) | |
| tree | 89455b225b6fb2f00b98cead6d5450282c4cc6ce /app/views | |
| parent | 40c4d798f0decf2d49005277c6d3a3d0e39bedfd (diff) | |
New unicity policies for feeds with bad GUIDs (#4487)
New set of unicity criteria options.
New tolerance heuristic:
> `$invalidGuidsTolerance` (default 0.05) The maximum ratio (rounded) of invalid GUIDs to tolerate before degrading the unicity criteria.
> Example for 0.05 (5% rounded): tolerate 0 invalid GUIDs for up to 9 articles, 1 for 10, 2 for 30, 3 for 50, 4 for 70, 5 for 90, 6 for 110, etc.
> The default value of 5% rounded was chosen to allow 1 invalid GUID for feeds of 10 articles, which is a frequently observed amount of articles.
Diffstat (limited to 'app/views')
| -rw-r--r-- | app/views/helpers/feed/update.phtml | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml index 780e9667a..001c04131 100644 --- a/app/views/helpers/feed/update.phtml +++ b/app/views/helpers/feed/update.phtml @@ -101,6 +101,30 @@ </div> <div class="form-group"> + <label class="group-name" for="unicityCriteria"><?= _t('sub.feed.unicityCriteria') ?></label> + <?php + $unicityCriteria = $this->feed->attributeString('unicityCriteria'); + if ($this->feed->attributeBoolean('hasBadGuids')) { // Legacy + $unicityCriteria = 'link'; + } + ?> + <div class="group-controls"> + <select class="w50" name="unicityCriteria" id="unicityCriteria" required="required"> + <option value="id" <?= $unicityCriteria == null ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.id') ?></option> + <option value="link" <?= $unicityCriteria === 'link' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.link') ?></option> + <option value="sha1:link_published" <?= $unicityCriteria === 'sha1:link_published' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published') ?></option> + <option value="sha1:link_published_title" <?= $unicityCriteria === 'sha1:link_published_title' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published_title') ?></option> + <option value="sha1:link_published_title_content" <?= $unicityCriteria === 'sha1:link_published_title_content' ? 'selected="selected"' : '' ?>><?= _t('sub.feed.unicityCriteria.sha1:link_published_title_content') ?></option> + </select> + <label for="unicityCriteriaForced" class="inline"> + <input type="checkbox" name="unicityCriteriaForced" id="unicityCriteriaForced" value="1"<?= $this->feed->attributeBoolean('unicityCriteriaForced') ? ' checked="checked"' : '' ?> /> + <?= _t('sub.feed.unicityCriteria.forced') ?> + </label> + <p class="help"><?= _i('help') ?> <?= _t('sub.feed.unicityCriteria.help') ?></p> + </div> + </div> + + <div class="form-group"> <label class="group-name" for="ttl"><?= _t('sub.feed.ttl') ?></label> <div class="group-controls"> <select class="w50" name="ttl" id="ttl" required="required"><?php |
