How to add odd, urls to sitemap when using Dynamic Sitemap Index method

We have a large number of CMS driven URL's that we're using the Dynamic Sitemap Index method to generate the sitemaps for.
We also have a handful of additional URLs that are only present in the MVC app and we need to also include these in the sitemap.
Is there an example of how to add these extra URLs in when using the dynamic method?

No, it's not supported out of the box. Take a look at DynamicSitemapIndexProvider. You can tweak it to include another sitemap index node if the extra links are static. Otherwise you have to come up with an implementation that can use multiple data sources.

It would still be helpful to be able to, at least, insert additional sitemaps into the sitemap index that's generated dynamically.
When working with headless CMS in particular the CMS content can be used to generate a dynamic sitemap/index using DynamicSitemapIndexProvider but there will always be odds and ends pages that are only present in the MVC application and don't appear in the CMS at all.
Being able to add these additional pages so that all pages are accounted for within the sitemap (and in particular the sitemap index paging calculations) would be extremely useful and much neater than having a separate sitemap with only a handful of pages in it next to a sitemap index that might lead to 100k's of pages on a large site.

I can provide a way to add static sitemap nodes to your sitemap index file. However DynamicSitemapIndexProvider can also generate a sitemap in cause you return less than 50k items from your query. Then it wouldn't be possible to add sitemap nodes there. What do you think about that?

When using DynamicSitemapIndexProvider, just having a way to pass in multiple IQueryables would likely be enough... that way you might have multiple sections plus a basic List<>() of the odd ones

I don't think there is a clean way query multiple IQueryables in the library. The paging code will be a mess. I think it's better that you provide your own implementation in your own code.

Could it not be passed as a params array that you then loop through?

As far as I'm concerned, no. You are free to write your implementation. I'm going to close this issue.


Supporting Multiple Property Level Examples

Hello.
I am using open api 3.1.0 and it looks like this should be supported.
I am using an object that looks like:
z.object({  GoalAmount: z.number().openapi({         description: "The goal for this unit.",         examples: [50000000000, 983981]     }).nullable()
but when i look at the generated schema it shows up as
"GoalAmount": {                         "type": [                           "number",                           "null"                         ],                         "description": "The goal for this unit.",                         "example":<PHONE_NUMBER>0                       },
As you can see it is only generating 1 example.
As a side note, how would you show that a valid value would be null? Thanks.

Can you give an example of your usage? We don't do any transformations on the examples field so I can't see why it wouldn't be working

Ah, my apologies. I believe I meant to make this issue on fastify-zod-openapi repo. It appears to be an issue with the transform in
...  transform: fastifyZodOpenApiTransform, transformObject: fastifyZodOpenApiTransformObject,
I will close this and reopen there. Sorry about that.

To prevent you from wasting your time @cleo-wvuf , you'll need to raise an issue with fastify/swagger. Their logic trims the array:
https://github.com/fastify/fastify-swagger/blob/1de673f8de777ab63711a0f1b2c062b2e2df8316/lib/spec/openapi/utils.js#L220


Remove convert.evr_parser_old.py ?

This file seems no longer used? Can we remove it as we move forward to tidy up the repo?

Removed in #34


Make the Table & Row data classes covariant

Hello.
I ran into a problem where I was doing something similar to:
abstract class Shape
object Circle : Shape() {}
object Square : Shape() {}

...

val table6 = table(
    headers("a", "b", "c"),
    row("foo", 5, Circle),
    row("bar", 42, Square)
)

I was getting loads of error messages like:
Error:(21, 16) Kotlin: None of the following functions can be called with the arguments supplied:
public fun <A> table(headers: Headers1, vararg rows: Row1<???>): Table1<???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J> table(headers: Headers10, vararg rows: Row10<???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table10<???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K> table(headers: Headers11, vararg rows: Row11<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table11<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L> table(headers: Headers12, vararg rows: Row12<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table12<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M> table(headers: Headers13, vararg rows: Row13<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table13<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N> table(headers: Headers14, vararg rows: Row14<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table14<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> table(headers: Headers15, vararg rows: Row15<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table15<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> table(headers: Headers16, vararg rows: Row16<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table16<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> table(headers: Headers17, vararg rows: Row17<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table17<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> table(headers: Headers18, vararg rows: Row18<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table18<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> table(headers: Headers19, vararg rows: Row19<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table19<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B> table(headers: Headers2, vararg rows: Row2<String, ???>): Table2<String, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> table(headers: Headers20, vararg rows: Row20<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table20<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> table(headers: Headers21, vararg rows: Row21<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table21<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> table(headers: Headers22, vararg rows: Row22<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???>): Table22<???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C> table(headers: Headers3, vararg rows: Row3<???, ???, ???>): Table3<???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D> table(headers: Headers4, vararg rows: Row4<???, ???, ???, ???>): Table4<???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E> table(headers: Headers5, vararg rows: Row5<???, ???, ???, ???, ???>): Table5<???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F> table(headers: Headers6, vararg rows: Row6<???, ???, ???, ???, ???, ???>): Table6<???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G> table(headers: Headers7, vararg rows: Row7<???, ???, ???, ???, ???, ???, ???>): Table7<???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H> table(headers: Headers8, vararg rows: Row8<???, ???, ???, ???, ???, ???, ???, ???>): Table8<???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties
public fun <A, B, C, D, E, F, G, H, I> table(headers: Headers9, vararg rows: Row9<???, ???, ???, ???, ???, ???, ???, ???, ???>): Table9<???, ???, ???, ???, ???, ???, ???, ???, ???> defined in io.kotlintest.properties

A workaround is to cast to a common type:
val table6 = table(
    headers("a", "b", "c"),
    row("foo", 5, Circle as Shape),
    row("bar", 42, Square as Shape)
)

or to specify type parameters explicitly:
val table6 = table(
    headers("a", "b", "c"),
    row<String, Int, Shape>("foo", 5, Circle),
    row<String, Int, Shape>("bar", 42, Square)
)

But changing the Table* and Row* classes to be covariant makes it so Kotlin
is able to treat a Row2<String, Circle> as a Row<String, Shape>, and so
this can compile without having to use a workaround.
The test I've included is a bit weird, as it doesn't do anything at runtime,
because this code change doesn't actually change any runtime behavior. The test
won't compile without this change, though, so it does verify that the fix has
happened, and its existence helps makes sure the variance continues to exist.

That's a lot of copy n pasting the word out :)
Thanks for the PR. :+1:

This is one of those times when it was easier to do the edit in Vim than in IntelliJ. :smile:


Make Postgres volume persistent in Docker image

Hey,
I'm just setting up a new instance for myself and I noticed that the Docker compose file doesn't set a persistent volume for the Postgres database so it's possible to lose data if something happens to Docker from my understanding.
I'd recommend setting something like:
  db:
    image: postgres:10.1
    environment:
      - POSTGRES_USER=miniflux
      - POSTGRES_PASSWORD=secret
    volumes:
      - /myuser/services/miniflux/postgres-data:/var/lib/postgresql/data

Here's some more information: https://github.com/GoogleCloudPlatform/postgresql-docker/tree/master/10#use-a-persistent-data-volume-1
What do you think?

I updated the docs to define a named volume, but this just an example. Usually, people customize the docker-compose.yml according to their own needs.


Fix user data defaults and display

Coverage increased (+0.17%) to 78.2% when pulling 9a537fff7b5ecad1c163fa64cd003f7f9750e8f0 on visual-data into 086cadb7f72da0df4e2a6f442e2235ef17780552 on master.


"Binds" menu item but no "Binds" section on gene page

https://www.pombase.org/gene/SPAC13D1.01c
We should hide the "Binds" in the menu in this case.

This is definitely low priority, becasue GO are discussing making binding a separate aspect

Will keep it open for now in case that doesn't happen

Fixed for Monday night's load.  I'll check on Tuesday morning.
This was also a problem for phenotypes for Population vs Cell menu items.

Fixed for Monday night's load. I'll check on Tuesday morning.

I didn't commit the first in for the PomBase load but it was in before the JaponicusDB load started.  It's fixed for japonicus which is a good sign.