Closed fraxinas closed 1 year ago
However, all the events expose their internal reference uids in a lengthy hash that is appended after the article name, e.g. https://wiki.schaffenburg.org/Kurs:2D-CAD#_6083d8864bb5c1ee52083c8272a97078
First of all, the mentioned output works as expected as it allows to distinguish each event as an individual entity.
When used as part of a recurring event, events are created as individual entities (also know as subobject) to identify each event. In your case, _6083d8864bb5c1ee52083c8272a97078
identifies [0] the event entity that represent a specific instance that declares a start and end date together with other properties that are only relevant for that particular instance. If you remove that identifier then you remove the semantics which defines an individual representation.
For example, if you declare a date and start on page Foo
then the individual event instance is referenced to the entity Foo
(in wiki terms to the page Foo
). Now, If you wanted to create different events on the same page you would need to distinguish them otherwise events are indistinguishable from each other and is the reason why #set_recurring_event
[1] creates subobjects on the page that embeds the parser function.
Is it possible to hide these hashes from the results so that the links look more like this: https://wiki.schaffenburg.org/Kurs:2D-CAD ?
Of course, you can remove that representation using your own result printer but I'm unlikely to support any modification in SRF to iCal itself that would remove such distinction for the reasons given above.
What maybe interesting: If the query is done through the category rather than the event start property, then there's no hash in the url
Well, yes because you only select entities that are "connected" to that category. Subobjects can be connected to categories but have to be explicitly defined [2].
[0] https://www.semantic-mediawiki.org/wiki/Help:Adding_subobjects#Anonymous_identifier [1] https://www.semantic-mediawiki.org/wiki/Help:Recurring_events [2] https://www.semantic-mediawiki.org/wiki/Help:Adding_subobjects#Using_categories
So an .ical File is supposed to have Recurring Events named like this? This is how they are displayed in a calendar application. I'd understand it if it had the hash in the URI but with proper titles but this looks very cryptic to any user.
This is how they are displayed in a calendar application.
Again, each of these events represent individual entities. Now, if you would create single pages for these events then you would be able to follow the simple annotation practice of assigning start/end to each page hereby render them as individuals (as seen for 2D-CAD), yet as soon as more than one entity representation is to be created from a page without taken the page as individual into account you have distinguish them and that is done by isolating their entity space which is addressed via a specific hash ID (as visible in the above screen dump).
I'd understand it if it had the hash in the URI but with proper titles but this looks very cryptic to any user.
I understand that, and as I said you can write your own result printer to make custom modifications specific to your needs but I won't support modifications to the default iCal printer that would make those entities appear as being a simple "page" hereby making them indistinguishable from other entities of the same parent. This would foster the wrong concept about the data model used to represent the data.
PS: I do understand your request but I cannot accommodate that by making the iCal printer to produce "wrong" data because for example, "Kurs:2D-CAD#_6083d8864bb5c1ee52083c8272a97078" is something entirely different than "Kurs:2D-CAD".
@kghbln I can't shake the feeling that people still have problems to understand what an entity space is and how sub-entities are treated as individuals. It could be that the documentation isn't clear about the fact that those sub-entities (aka. subobjects) are isolated representation (aka. containers) of data and while sharing a common entity space (that of the page) define their own to be addressable as individuals.
The reason why I suggested that it may be feasible to add this as a feature request is that the subobject is tied to the respective page, i.e. if you browse to "Foo#_SubobjectHash" you still end up on page "Foo" and this is basically all one needs as a consumer when using the ical file.
I think that the difference between object and subobject was understood here.
The reason why I suggested that it may be feasible to add this as a feature request is that the subobject is tied to the respective page, i.e. if you browse to "Foo#_SubobjectHash"
Browsing and data representation are different aspects here where Foo#_SubobjectHash
with #
being the HTML indicator for a fragment will always refer to the initial literal that comes before the #
, yet for SMW it refers to an individual entity.
I can't shake the feeling that people still have problems to understand what an entity space is and how sub-entities are treated as individuals. I think that the difference between object and subobject was understood here.
[0] hopefully clarifies the topic and should be used as reference for future questions in regards as to why those hashes appear and what they imply.
@fraxinas can we close this or is this still a problem?
@fraxinas can we close this or is this still a problem?
The problem persists for us.
BEGIN:VCALENDAR
PRODID:-//SMW Project//Semantic Result Formats
VERSION:2.0
METHOD:PUBLISH
X-WR-CALNAME:Schaffenburg (Komplett)
X-WR-CALDESC:Veranstaltungskalender mit allen Termine des Makerspace Schaffenburg e.V.
BEGIN:VEVENT
SUMMARY:Micropythonkurs 2023#_47c1692f8da128cea31a8ebc6681186e
URL:https://wiki.schaffenburg.org/Micropythonkurs_2023#_47c1692f8da128cea31a8ebc6681186e
UID:https://wiki.schaffenburg.org/Micropythonkurs_2023#_47c1692f8da128cea31a8ebc6681186e
DTSTART:20230401T110000
LOCATION:Space\, Dorftstr. 1
DESCRIPTION:ESP32-Programmierkurs für Jugendliche
DTSTAMP:20230318T093248
SEQUENCE:11268
END:VEVENT
BEGIN:VEVENT
SUMMARY:Open Space#_051ddab7200d56f945ac9510d983ceb2
URL:https://wiki.schaffenburg.org/Open_Space#_051ddab7200d56f945ac9510d983ceb2
UID:https://wiki.schaffenburg.org/Open_Space#_051ddab7200d56f945ac9510d983ceb2
DTSTART:20230711T200000
LOCATION:Space\, Dorfstr. 1
DESCRIPTION:Wöchentlicher öffentlicher Besuchstag
DTSTAMP:20230103T190610
SEQUENCE:11185
END:VEVENT
BEGIN:VEVENT
SUMMARY:Plenum#_fa1128091142b9196da18e91075bcc7c
URL:https://wiki.schaffenburg.org/Plenum#_fa1128091142b9196da18e91075bcc7c
UID:https://wiki.schaffenburg.org/Plenum#_fa1128091142b9196da18e91075bcc7c
DTSTART:20230628T200000
LOCATION:Mumble\, online
DESCRIPTION:Monatliche Mitgliederbesprechung
DTSTAMP:20230123T184841
SEQUENCE:11196
END:VEVENT
BEGIN:VEVENT
SUMMARY:Projektpräsentationstag#_0338f917c9de4607dad0463bccab740d
URL:https://wiki.schaffenburg.org/Projektpr%C3%A4sentationstag#_0338f917c9de4607dad0463bccab740d
UID:https://wiki.schaffenburg.org/Projektpr%C3%A4sentationstag#_0338f917c9de4607dad0463bccab740d
DTSTART:20231003T200000
LOCATION:Space\, Dorfstr. 1
DESCRIPTION:Vorstellung von neuen Projektideen
DTSTAMP:20220306T211948
SEQUENCE:10867
END:VEVENT
BEGIN:VEVENT
SUMMARY:Camp 2023
URL:https://wiki.schaffenburg.org/Veranstaltung:Camp2023#_373e736564edbdd9e36c46fc1599c241
UID:https://wiki.schaffenburg.org/Veranstaltung:Camp2023#_373e736564edbdd9e36c46fc1599c241
DTSTART:20230815T000000
DTEND:20230819T230000
LOCATION:[http://www.ziegeleipark.de/index.html Ziegeleipark Mildenberg]
DESCRIPTION:Chaos Communication Camp 2023
DTSTAMP:20230222T194312
SEQUENCE:11242
END:VEVENT
BEGIN:VEVENT
SUMMARY:GPN21
URL:https://wiki.schaffenburg.org/Veranstaltung:GPN21#_f64dfefb6000764a43b6de4f617e8ccd
UID:https://wiki.schaffenburg.org/Veranstaltung:GPN21#_f64dfefb6000764a43b6de4f617e8ccd
DTSTART:20230608T160000
DTEND:20220611T150000
LOCATION:Karlsruhe\, ZKM
DESCRIPTION:Gulaschprogrammiernacht 21
DTSTAMP:20230314T193350
SEQUENCE:11267
END:VEVENT
BEGIN:VEVENT
SUMMARY:Repair-Café
URL:https://wiki.schaffenburg.org/Veranstaltung:RepairCafe23#_11ecf9f9e10255ca6fb506547d6fef68
UID:https://wiki.schaffenburg.org/Veranstaltung:RepairCafe23#_11ecf9f9e10255ca6fb506547d6fef68
DTSTART:20230624T120000
DTEND:20230624T170000
LOCATION:Space\, Dorfstr. 1
DESCRIPTION:Ehrenamtliche Hilfe bei Reparaturen
DTSTAMP:20230207T085400
SEQUENCE:11223
END:VEVENT
BEGIN:VEVENT
SUMMARY:WWW2023
URL:https://wiki.schaffenburg.org/WWW2023#_efb9af5ec4a992d429ec31f8fe9f9fb8
UID:https://wiki.schaffenburg.org/WWW2023#_efb9af5ec4a992d429ec31f8fe9f9fb8
DTSTART:20230721T050000
DTEND:20230723T120000
LOCATION:Gerolzhofen
DESCRIPTION:Wine Wire Wifi 2023
DTSTAMP:20230325T160855
SEQUENCE:11279
END:VEVENT
END:VCALENDAR
All the recurring events have the ugly hash in their summary, the single events don't have them in the summary, only in the URL.
Since you have the property has title, should it not be enough to add |mainlabel=- to avoid the output of the subobject page names? This example is working (interestingly without manlabel=- https://sandbox.semantic-mediawiki.net/wiki/Recurring_events#iCalendar
Hi Krabina, thanks for the suggestion!
You mean like this?
{{#ask: [[Has event start::>={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY}}]]
|?Has title=summary
|?Has event start=start
|?Has event end=end
|?Has event description=description
|?Has event url=url
|?location=location
|title=Schaffenburg (Komplett)
|searchlabel=Schaffenburg (Komplett).ics
|limit=1000
|format=icalendar
|mainlabel=-
|description=Veranstaltungskalender mit allen Termine des Makerspace Schaffenburg e.V.
}}
I changed it in this way, but the labels remain.
That is what I meant, but it seems to be not what is needed. Look at the sandbox example: https://sandbox.semantic-mediawiki.net/wiki/Recurring_events#iCalendar Since it is working there and sandbox is also using subobjects, it could have to do with your versions being outdated or some kind of difference in data structure.
I am closing this here, since the working sandbox example shows that an iCalendar output without the markers can be achieved.
Feel free to comment further on this issue once you have found a solution or upgraded your installation.
Setup
1.31.1
10.1.41-MariaDB-0+deb9u1
7.0.33-14+0~20191218.25+debian9~1.gbpae1889 (fpm-fcgi)
3.1.0
3.1.0
Issue
@kghbln referred me from the semediawiki-user list to here.
We've been using semantic events for auto-generating calendars for our maker space. The way events are queried are with:
we also provide icalendar files. However, all the events expose their internal reference uids in a lengthy hash that is appended after the article name, e.g. https://wiki.schaffenburg.org/Kurs:2D-CAD#_6083d8864bb5c1ee52083c8272a97078
This is especially annoying in the ical, because it doesn't just show up in the status bar as the URI field but is the actual visible event name.
Is it possible to hide these hashes from the results so that the links look more like this: https://wiki.schaffenburg.org/Kurs:2D-CAD ?
Our calendar is public on this address: https://wiki.schaffenburg.org/Termine
What maybe interesting: If the query is done through the category rather than the
event start
property, then there's no hash in the url