Giter VIP home page Giter VIP logo

giggity's Introduction

Giggity

Giggity is an Android app that loads Pentabarf/frab/wafer/Pretalx/OSEM XML files (or if none are available, .ics) with schedules of conferences and other events, and displays them in various convenient formats.

Nowadays many events release dedicated apps (with limited features) which I don't like. :-( Giggity is a generic app that can be used for any event that publishes their schedule in an open format, and offers more features to help with organising your visit, like:

  • Various different views besides a plain timetable.
  • Powerful search function.
  • Set reminders.
  • Warnings when your selected talks overlap.
  • Delete/hide talks/entire topics you're not interested in.
  • Events can include direct links to related web content (main website, Wiki), or include off-line viewable venue maps, etc.
  • Include coordinates of all the venue's rooms so you can see where they are in your preferred maps application, or c3nav integration.
  • Add direct shortcut (or widget) to your homescreen.
  • Export your selections via a QR code to sync with other devices or with your friends. (Relies on deprecated ZXing QR scanner, functionality to be replaced.

It's free software, and available on Google Play, F-Droid and I guess other Android markets.

It's named Giggity, after the word "Gig". The fact that it is also a well-known catch phrase of a certain cartoon character may or may not be coincidental. ;-)

F-Droid Play Store

Deeplinking into Giggity

Giggity reads generic .ics or even .xml files and will not register itself as a reader for these file formats with Android.

If you however want to add deeplinks on your website, prompting Android phones to open your schedule file directly in Giggity, you can use ggt.gaa.st URLs formatted like this:

https://ggt.gaa.st/#url=https://fosdem.org/2019/schedule/xml

Starting with Giggity 2.0, you can also include your JSON metadata in these URLs if you have any. Use this script to generate the right (and backward compatible) URL.

This is likely a better option than scanning a QR now that good ad-free QR scanners appear to be rare. But where possible, consider just adding your event to the menu as explained in the next section.

Locating the XML/ICS file

It is not always easy to locate a file usable for Giggity, sometimes organisers just publish a grid on a webpage, other times they just don't know there is an option in the CfP system to expose it. Knowing which software they used for the call for paper usually helps locating the file. A few platforms generate the web view on the fly by parsing the XML, and have the URL hardcoded in the HTML code. It is not forbidden to ask the organisers which platform they use, and if they have the file at hand.

Some conferences just publish a link to the ICS and XML files somewhere on the schedule page, look for it.

Pretalx

Pretalx exposes export formats in a drop-down menu on the schedule web page, in the top-right corner, right after the Version number. Use the last entry named "XML (frab compatible)".

It is usually in the form: https://<CFPHOST>/<CONFERENCE>/schedule/export/schedule.xml

OSEM

It usually is in the form: https://<CFPHOST>/conferences/<CONFERENCE>/schedule.xml

Adding your event to the default menu

To do this, construct a JSON file formatted like this in the menu directory:

{
	"version": 2019122000,
	"url": "URL_OF_YOUR_PENTABARF_FILE",
	"title": "TITLE",  // preferably have it match the title in your Pentabarf
	"start": "2020-02-01",
	"end": "2020-02-02",
	"timezone": "Europe/Brussels",
	// To be used only if your event tends to make last-minute changes, and allowed only if the
	// server hosting your Pentabarf file sends HTTP 304s when no changes are made:
	"refresh_interval": 1800,
	"metadata": {
		// Must have an alpha layer, be square and not too large. Will be used for
		// notifications and home shortcut.
		"icon": "https://www.conference.org/logo.png",
		"links": [
			{
				"url": "https://www.conference.org/",
				"title": "Website"
			},
			{
				"url": "https://www.conference.org/info.pdf",
				"title": "Info",
				"type": "application/pdf"
			},
			{
				"url": "https://www.conference.org/floorplan.png",
				"title": "Map",
				"type": "image/png"
			}
		],
		// Entirely optional:
		"rooms": [
			{
				"name": "ROOM 1",  // Warning: it's a regex!
				"latlon": [51.482598, -0.144742]
			},
			{
				"name": "ROOM 2",
				"latlon": [51.481024, -0.145571]
			}
		]
	}
}

The metadata section (and/or its two subsections) is optional but recommended as it lets you define links to show automatically in Giggity's nav drawer when viewing your event. Adding a MIME-type to a link will make Giggity download that file and show it off-line instead of in the browser, great for slow conference WiFi. Feel free to add other kinds of links as you see fit.

Less commonly used: Adding room locations will make room names in event description clickable, sending the user to the given latlon in their preferred maps application (especially great if your venue has indoor maps with for example Google). Note that the room name is actually a regular expression (which could be used to combine entries for adjacent rooms for example).

For those conferences using c3nav, the FOSDEM fragment shows how to integrate that. In case of c3nav you'll likely just want to have an entry for every room instead of taking advantage of regex matching.

To test your entry, you can for example turn it into a QR-encode using previously mentioned tools/ggt.sh and python3-qr:

tools/ggt.sh menu/YOURFILE.json | qr

(sudo apt-get install python3-qrcode if it doesn't work, or use any other encoder that you may know of.)

And use a QR scanner (for example Lens in the Camera application) to open it on your phone.

To get your entry added to Giggity, just add it to the menu directory and send a pull request. To save time, run tools/menu-ci.py for sanity checking. (Same check is run automatically through Travis-CI.)

giggity's People

Contributors

abellykens avatar agallou avatar astro avatar davidsf avatar dependabot[bot] avatar edwardbetts avatar fortysixandtwo avatar hafpaf avatar insomniacslk avatar jakubjancicka avatar jean-baptistec avatar jjimenezshaw avatar joker234 avatar ka7 avatar leaf-node avatar leyrer avatar lucamiotto avatar madeincima avatar michael-hartmann avatar mmuman avatar moini avatar nighttsarina avatar oskar456 avatar qwaxys avatar rufus125 avatar scandindian avatar stefanor avatar tyrasd avatar wilm0r avatar zuphilip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

giggity's Issues

Adding support for FOSSASIA's open event JSON format

FOSSASIA's open event JSON format contains information about rooms, icon and other web links which has to be added separately for the formats like pentabarf along with sessions.

I made the changes https://github.com/heysadboy/giggity .

App could be tested for this API end point https://open-event-dev.herokuapp.com/api/v1/events/266?include=sessions,microlocations

See the endpoints's response here http://jsonviewer.stack.hu/#http://open-event-dev.herokuapp.com/api/v1/events/266?include=sessions,microlocations .

I have modified app so it automatically fetches the information of locations, sessions and icon's link from this endpoint itself.

Port to SailfishOS

Hey,
This is a very usefull app ! Do you think it will be possible to make a version for Sailfish OS ? :)
Cheers !

wishlist: Merging calendars

Some events have parallel calendars for different "tracks". For example, at IETF105 there is the calendar of official events, and a parallel calendar of unofficial side meetings.

It Would Be Nice If there was a way to have giggity display both in overlay (just displaying events from both in a single view, with the event details indicating the source when there are multiple calendars).

A first iteration may not even need capabilities for creating such a composite-calendar event from GUI input, just having multiple calendars from a JSON would be a good starting point.

DateTimeParserException for simple dates (e.g. Bibliothekartag 2020)

In some of my previously created Pentabarf files I have very simple start and end time. For example for "Bibliothekartag 2020" which is also in the official menu of giggity I simply choose

    <start>2020-05-26</start>
    <end>2020-05-29</end>

That did work for giggity until recently. Now, I see some error about DateTimeParserException. I used the Pentabarf python library to create this, cf. https://github.com/UB-Mannheim/bibtag-scheduler/blob/master/schedule.py#L19-L20 and therefore I except this is possibly a newly introduce bug in giggity.

Dark or/and Black Theme

Fortunately I'm running a phone with an AMOLED display. Many apps have a power saving black based theme.

Might it be possible to implement theming in Giggity or use the devices default colors from themes like from Substratum?

background update

On events with volatile schedules, I run with "Always reload schedules", but that takes some time in the morning, and makes the cached schedule inaccessible if network errors occur.

Could the schedule update process be moved into the background (open, it shows the cached schedule right away and refreshes when updates are parsed), and made to keep using the last good version in presence of network errors?

Thanks for this great app!

Improve UI to display more data and implement material design

  • We could add padding between the texts and present it in points and we could move the things from toolbar to the text views under it in points.
  • Display the data in CardViews to make one group more separable than other.
  • Expand the columns on click to make the text more visible.

Corresponding activities to be improved.

@Wilm0r I use this link to add our FOSSASIA data in your app. We have other data too like images and we look up to add that support to in Giggity app, please review this.

It would be great if you could also add FOSSASIA 2016 in your app, I mailed you the data, if not through pull request for further testing of UI on our data. Is there any changes required to be made except in menu.json for our conference to be reflected in app, I wonder.

build new version ?

I see now at least 2 events in beginning of Dec... would be nice if you could push soon a new version (which just includes the latest events).
( I think it would at least appear automatic in f-droid, not sure about g-play )

thanks for considering.

Also, long-therm i would suggest to split the "app" and the "data" into 2 repos.

  • the data (res/raw/menu.json) could then be refresh-loaded by the app separately (maybe even from the master repo raw.github.org :) )
  • also the data could be included (there some gradle receipts) to be included if build a new version

for the data-repo, there could run some custom .travis checks for to prove pull-requests. (are the urls accessible, is the .ics file a valid one, check the format (json-schema-validation), ... )

Load schedule from QR code without internet

I would like the ability to transfer the whole schedule to the smartphone using QR code only. It can be useful for places where the agenda is not available over the internet (enterprise environment).

For example you can take frab scehdule.xml , gzip -9 | qr , create a qr code, and then be able to scan this directly into Giggity. Example QR code:

image

If I understand this code correctly, the barcode reader can't do that, but it is seems easy to add.

wishlist: floor plans

Comparing giggity to all those conference apps I see on colleagues' phones, the only benefit they give is having a floor plan accessible.

Could we come up with a way in which organizers can annotate the rooms in their ICS files with floor plans, and if it is only a link that opens in the browser?

Suggestion: LOCATION:Balmoral could be annotated as LOCATION;ALTREP="https://datatracker.ietf.org/meeting/101/floor-plan?room=balmoral:Balmoral".

Using images and CSS in descriptions of events

Hi, I'd like to use Giggity for a conference I am organizing and one of the issues is that I would like to be able to use images in the descriptions of talks (the abstract of the talk itself would be followed by the speaker's bio and picture). Some HTML tags (links, lists, strong, etc.) are supported, so I figured I'd try with img, but the result is only a blue square, whether I link to an external image or I put it base64 encoded in the tag. There seems to be no CSS support either.
Is this a bug or a feature? Is there a way to display images in the descriptions?

Respect Timezones in XMLs

With SotM 2020 (XML) using giggity I recognized, that reminders and program is not in local timezone but UTC. It would be nice if the local timezone (of the android device) would be used, but not that annoying. It's more annoying that I (currently in UTC+2) get the reminders two hours early. It would be nice if giggity could handle timezones properly.

The XML looks correct:

…
  <day index="1" date="2020-07-04" start="2020-07-04T10:00:00Z" end="2020-07-04T22:32:00Z">
    <room name="Track 1">
      <event guid="66470e9c-d19d-5670-9918-0248be67c02d" id="5028">
        <date>2020-07-04T10:00:00Z</date>
        <start>10:00</start>
        <duration>00:20</duration>
        <room>Track 1</room>
        <slug>sotm2020-5028-opening</slug>
        <url>https://pretalx.com/sotm2020/talk/AXAUHX/</url>
        <recording>
          <license></license>
          <optout>false</optout>
        </recording>
        <title>Opening</title>
        <subtitle></subtitle>
        <track>OSM Basics</track>
        <type>Talk</type>
        <language>en</language>
        <abstract>Welcome to SotM 2020!</abstract>
        <description>Welcome to SotM 2020!

Some words about how the virtual SotM will run.</description>
        <logo></logo>
        <persons>
          <person id="2297">SotM Working Group</person>
        </persons>
        <links/>
        <attachments/>
      </event>
…

Stop replacing menu.json title with schedule file title

When an ICS file is added via a menu JSON that has a title, it is initially shown in the list with the given title. When the event is later loaded, some calendar files (at least the IETF one) later show their calendar URI in the list instead of the given name.

My impression is that this affects calendars that don't have a X-WR-CALDESC/X-WR-CALNAME set, and that the fallback sequence is "X-WR-* / URI / JSON-name", while it should better be "X-WR-* / JSON-name / URI" or even "JSON-name / X-WR-* / URI".

Display events by time (i.e. now and next display) also before the conference starts

It is IMO useful to have the events listed by time also for planning your attendance of a conference ahead. Such a list is already done by the "Now and Next" display. However, this is not available on non-conference days.

Can this view of the events by time been expanded such that it becomes also available on days before the conference (and afterwards)?

I would envision to still have the message "No events today" but then below an option to choose a specific conference day and then see all events at that day sort by the time.

MalformedURLException on Google-managed calendar for RIOT summit

The RIOT summit is coming up, and its calendar managed at https://calendar.google.com/calendar/ical/q8kbk375j3oh1ei3pt3s8g22hs%40group.calendar.google.com/public/basic.ics looks like it'd be suitable for use with giggity.

When attempting to load said URI (or its http version instead of https) by QR code, I get:

Loading schedule data...
Network I/O Problem: java.net.MalformedURLException: no protocol: https://calendar.google.com/calendar/ical/q8kbk375j3oh1ei3pt3s8g22hs%40group.calendar.google.com/public/basic.ics

Accessing the same resource per curl via termux (or via Firefox, which offers it for download) works, so it shouldn't be a network problem.

Multi-days event

Hello! I'm having some trouble with an event that last over 24 hours. I cannot set the <duration> value over 24 (Network I/O problem: parse error. Invalid int value for HourOfDay).

How can I achieve this?

I tried to split an event in 2 days like this:

<day date="2019-11-15">
<room name="ABC">
<title>Eventname1</title>
<event id="5f76dc3808c8677ca3515213db89291ecaca9b2dbf3e6">
<start>10:00</start>
<duration>14:00</duration>
</event>
</room>
</day>

<day date="2019-11-16">
<room name="ABC">
<title>Eventname1</title>
<event id="5f76dc3808c8677ca3515213db89291ecaca9b2dbf3e6">
<start>00:00</start>
<duration>16:00</duration>
</event>
</room>
</day>

But the second event doesn't show up.


I've found out that an event that starts before 06:00 is not recognized and doesn't show up. For example:

<day date="2019-11-15">
<room name="ABC">
<title>Eventname1</title>
<event id="5f76dc3808c8677ca3515213db89291ecaca9b2dbf3e6">
<start>05:00</start>
<duration>04:00</duration>
</event>
</room>
</day>

doesn't work, but:

<day date="2019-11-15">
<room name="ABC">
<title>Eventname1</title>
<event id="5f76dc3808c8677ca3515213db89291ecaca9b2dbf3e6">
<start>06:00</start>
<duration>04:00</duration>
</event>
</room>
</day>

is working.

Why is that? Any suggestions about this issue?

Thank you so much!

Easiest way to create event calendar?

I want to try to create an event calendar for giggity for a boardgame con I'm going to attend. What's the easiest way to create any of the formats that giggity reads? I mean the file whose url will go into the top level url field of the JSON file for the event.

I'm looking for a broad description in steps or pointers. Assume I know programming and am prepared to do a little work for this.

Add trackname to location for FOSDEM

Please add the track name such as Python, Mozilla etc. to the location on the left. This allows the user to find more quickly what he or she is looking for.

Java HTTP library doesn't follow http<>https redirects

Giggity 1.3.2 installed from FDroid.

I'm trying to load http://osseu18.sched.com/all.ics by adding it over the + button, but when I do this, I only get an error message saying "Load Error: Network I/O problem: java.io.IOException: Download error: no-cache".

A short curl shows that the HTTP URL is only redirect to the HTTPS version:

$ curl -I http://osseu18.sched.com/all.ics
HTTP/1.1 302 Found
Cache-Control: no-cache
Content-length: 0
Location: https://osseu18.sched.com/all.ics

(note the Cache-Control: no-cache which gets reproduced in the error message).

When I try loading the HTTPS version instead in Giggity, everything works fine, so I guess only the redirection feature is missing, or the Cache-Control header is confusing the download logic.

Feature request: Add personal meetings

During a conference one wants to meet with some person(s) besides the official programm. Morevoer, it is possible that there is something like an exhibision of companies and attendees will make appointments with some of them. For these use cases, it would be interesting to have a new feature, which makes it possible to add such personal meetings besides the official programm.

If this would be possible, then the different views should include such personal meetings and they should also taken into consideration when something new will overlapp with the things already saved.

Crash if <description/> tag is present but empty

Hello

I've been seeing an issue when trying to parse the GUADEC 2017 and 2016 schedule with Giggity. The schedule was failing to load with a NullPointerException. Here's the full log from adb logcat:

07-04 17:09:53.453 E/Schedule.loadXml( 5500): XML parse exception: java.lang.NullPointerException
07-04 17:09:53.453 W/System.err( 5500): java.lang.NullPointerException
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Giggity.fuzzyStarsWith(Giggity.java:191)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule$PentabarfParser.endElement(Schedule.java:1018)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatParser.endElement(ExpatParser.java:156)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatParser.appendChars(Native Method)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:497)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:484)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:309)
07-04 17:09:53.463 W/System.err( 5500):         at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:267)
07-04 17:09:53.463 W/System.err( 5500):         at android.util.Xml.parse(Xml.java:71)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadXml(Schedule.java:362)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadPentabarf(Schedule.java:357)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadSchedule(Schedule.java:306)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Giggity.getSchedule(Giggity.java:116)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.ScheduleViewActivity$6.run(ScheduleViewActivity.java:339)
07-04 17:09:53.463 W/System.err( 5500): XML parsing problem: java.lang.NullPointerException
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadXml(Schedule.java:367)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadPentabarf(Schedule.java:357)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Schedule.loadSchedule(Schedule.java:306)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.Giggity.getSchedule(Giggity.java:116)
07-04 17:09:53.463 W/System.err( 5500):         at net.gaast.giggity.ScheduleViewActivity$6.run(ScheduleViewActivity.java:339)

The problem seems to be an assumption that the <description> tag exists and contains text, here: https://github.com/Wilm0r/giggity/blob/master/app/src/main/java/net/gaast/giggity/Schedule.java#L1018

I think I can work around the issue by avoiding <abstract> and just providing <description>, but it would be good to avoid the error. You can reproduce the problem by loading the GUADEC 2016 schedule in Giggity.

Wrong order for "Now and next"

Thank you for this great tool.
I am attending DebConf17 and noticed when looking at "Now and then" some events aren't in the right order.

For example for today I see:

Now:
13:00 - 14:00 Lunch

Next:
15:30-15:50 - An apt Talk
17:00-17:50 Building a PKI and PGP Clean room
16:20-1700 Coffee break
14:30-15:15 Bits from the DPL
15:30-16:20 The past, present and future of Debian Games

It should actually show:

Next:
14:30-15:15 Bits from the DPL
15:30-15:50 - An apt Talk
15:30-16:20 The past, present and future of Debian Games
16:20-1700 Coffee break
17:00-17:50 Building a PKI and PGP Clean room

Perhaps the ability to group by room / track would also be useful here.

Bug: updating an ics does not change event name

Hi,

I imported a custom .ics file from a link, then noticed the X-WR-CALNAME entry was wrong (as in, the title of the entire file).

I can refresh the ics all I want, it doesn't change the title of the thing anymore. (Also, as others have noted, I can't delete my own imported .ics anymore, which I would like to do, for older events I added)

More frequent reloads (without extra waiting)

It would be nice if the Android version would have an option to reload the data without having to restart the app. I'd have it open over the entire conference without closing it, and so an option to force it to reload the data would be a great enhancement. Currently the only way to get the latest schedule is to remove the app from the task list and then start it again.

property recording

Some talks might or might not be recorded, it would be very handy for planning a conference with the app if that information was easily available. It seems there was no taken care of tags/markup for that purpose and thus the only but less user friendly (vs cam or stroken through cam icon) variant would be to add that to the description.

example: GPN18 has tagging for “no recording/streaming”

               <recording>
                   <license></license>
                   <optout>false</optout>
               </recording>

Feature request: Remove imported .ics-files

I've been experimenting with how to make a good .ics for giggity and the menu is now full of garbage. I'd like for an easy way to get rid of them (like a delete-action in the click-and-hold popup menu), but I'd settle for a workaround doable via termux or similar.

Web version / webapp view

Anyone know how could have a web version/view?
How to view the XML with some mobile web view.
I can't install .apk or anything else on my phone.

Collaborate with other sites/apps on more input formats ?

Following #29 , I just found MozFest that uses yet another thing for their program, which uses some custom JSON format.

Last summer I attended a workshop at RMLL where we discussed events schedule curation for websites like radar.squat.net.
I mentioned Giggity on the notes we took.

I think we should collaborate instead of reimplementing the same parsers N times. It's probably simpler to add events to some website supporting known formats and point Giggity to it when the event website doesn't provide a suitable format.

Support Sched conferences better

Some conferences started to use https://sched.com/ for their program website, e.g. https://oat21.sched.com/?iframe=no . They provide also a ICS file which then can be used in giggity as well, e.g. https://oat21.sched.com/all.ics . However, this approach has some drawbacks:

  • There is no line break in the description which makes them more or less impossible to read.
  • Any additional HTML markup (bold, italics, enumeration) in the description of the talks/session is getting lost.
  • The persons are not part of the ics file.

Would a direct support for Sched conferences in giggity be possible? I would assume that

  1. the user can enter the sched website like https://oat21.sched.com/,
  2. then the software knows where to look for the ics file +all.ics and create a giggity schedule from that
  3. instead of using the description from the ics file, giggity can then go to each seperate event page (the URLs are part of the ics file) and grab the nicer formatted description as well as the person from that website, e.g. https://oat21.sched.com/event/3e892bad5fcace002664b28783802f05?iframe=no

My feeling is, that most of these is maybe easy to build with the things which are already coded here. However, I don't know the codebase and I am not experience to do anything with Java.

Could this suggested feature become part of giggity?

Scrap the "id" primary key and just use URLs

I've written a longer history on this elsewhere already I think but forgot where, but: The id field was meant to be the primary key for a conference so that the schedule file can be moved around.

But the most common file format, Frab XML, doesn't have any unique identifier so I've ended up just using the URL most of the time anyway except for the less-preferred .ics files.

In the end this all is I think causing more confusion than it's worth so I should just drop it.

Filter tracks by date

In FOSDEM Companion, there's a way to only show the tracks of a single day. It's very useful when you want to make your plans for the next day, for instance.

FR: Delete / edit schedules on the list

Thank you for Giggity on F-Droid!

I have two wishes:

  • I would like to be able to delete schedules from the list, at least when I have added them myself.
  • I would like to be able to customize the title of a schedule in the list, e.g. add a name. Then I could better distinguish a friend's or colleague's schedule for the same event in the list from my own.

Respect time zones in ICS files

When a conference time zone is not the local one (as has become typical in the last year for reasons), event times and even the "current time" indication of the block schedule become inaccurate.

For an example, load https://datatracker.ietf.org/meeting/111/agenda.ics. Right now, the block schedule indicates that "dispatch" starts at 12:00 (which is kind of correct -- Los Angeles time), but it also displays the current time as well into dispatch (13:30), which is inconsistent with the calendar showing LA time.

As far as I can read iCalendar files, the data appears to be correct; the LA time zone is defined at the top with appropriate tzoffsets, and all DTSTART/DTEND are given with with the appropriate TZID and then in the appropriate time. Example:

DTSTART;TZID=America/Los_Angeles:20210726T120000
DTEND;TZID=America/Los_Angeles:20210726T140000

For a simple enhancement, it'd already help if the current time indication were fixed (so that when opening the app, you see which slots are on right now); for full time zone support I'm afraid this might need some GUI to select whether a conference is shown in its time zone (useful for planning ahead while you're at home before you go there) or in the device's local time zone (useful for attending remotely).

Giggity fails to update schedule, raises java.lang.SecurityException

I'm working out what to attempt to see at FOSDEM. For multitrack cons, giggity has been my favorite tool for years. Block schedule with hiding FTW!

But: Giggity started failing today with

java.lang.SecurityException: !@too many alarms (500)

I found an old discussion at stackoverflow: java.lang.SecurityException: !@Too many alarms (500) registered from pid 10790 uid 10206. If this has the same cause, this only happens on Samsung phones, which is what I have :/ .

Especially annoying:

"We've found that devices where this problem occurs will be in a broken state (filled with PendingIntents?) until they are restarted or the app is reinstalled."

I have tested on my own Samsung: restarting the entire device is no longer a working workaround, I'm a bit reluctant to reinstall since I assume this will erase all the selections I've already made.

Conference hashtag for sharing on Twitter

Would it be possible to save the conference hashtag and then use it for sharing via twitter? However, currently these text is using the whole abstract which will almost certainly be too many characters. Thus, one would also need to restrict this. Any hint where this is handled in the code?

which event type are supported

Hi,

I create a pentabarf xml response to show the calendar of our conference (you can see it here, but I'm not able to see in giggity the event elements which type different from talk (we have poster and workshop).

Is it possible to use different values for type ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.