2023-04-27 Product Council Meeting notes




Discussion items

5 minAnnouncementsAll

Election nominations are extended through May 1.

Results of Review of new functionality process: this has passed. It will be used as a pilot process, and there is an app to go through the process.

Normally this would have been a meeting where we would have gotten updates from the other councils, but since we had the tri-council meeting two weeks ago there have been no new updates.

20 min

New Number-Generator functionality discussion

Purpose: discuss new functionality in FOLIO and determine inclusion in upcoming flower release

It is a page for the Settings app for cross-app module settings. For instance, the new number generator functionality. The new number generator is funded by the University Library of Leipzig and developed by K-Int. Project includes: user barcode in Users app, vendor code in Organizations app, and the item barcode accession number and call number in both the Inventory app and Receiving app.

The number generators have three parts: a button/icon in the app UI that opens a modal for selection sequences; an app's settings to enable the number generators for activating the functionality (defaults to off); and the service interactions page for creating the number generators and the number generator sequences (including prefixes and suffixes).

The "Service interaction" area of settings was already in use for the Dashboard app, which also has cross-app concerns. This sort of area needs to exist; this might not be the right name for it. Will adding this area help with consolidating existing (or upcoming) settings needs.

Next steps: talking with POs in relevant areas as well as the app-interaction group.

Is this discussion enough to trigger a TC review of this? The open-ended nature of this module makes it difficult to evaluate.

30 min

PC priorities and areas of influence for the project

  • Roles and responsibilities for the PC, given level of resourcing
  • Expectations of PC vs. reality of FOLIO development and PC roles

Purpose: discussion of existing situation and determining examples where PC is struggling with disconnect

The reality of how FOLIO is being developed is not meeting the expectations set out in our governance documents, especially for the Product Council relative to determining the development direction. Should the scope of the charter change to represent reality? How can we better align the goal/purpose of the PC with the reality of how work is done and how development teams set priorities? Can we better surface what the development teams are working on and the priorities of the groups funding development teams? A better mapping of funding sources/priorities to development teams and development teams to SIG activity.

The TC has gone through a version of this in the past year where it was recognized that the charge didn't represent what was actually happening. The TC changed its charter to represent activities it could do.

Are there ways that the functional experts could get closer to the development teams, and can PC facilitate this?

30 min

Workflow engine work with FOLIO

Purpose: discuss new potential functionality for FOLIO

Introductory slides

Examples of workflow engines being used in conjunction with FOLIO now: Camunda (TAMU); Airflow (Stanford); Prefect (Cornell); and Jira (Lehigh). Slide three of the above presentation has links to demonstrations of these options.

Ian Walls notes in the chat: we've been using N8N at ByWater.  written in Node, connects to a nice combination of online services and core system utilities. workflows build visually.

Can the Camunda workflow app be connected with Prefect or Airtable? Does this area need a separate SIG? Should the ongoing work be integrated with the roadmap? Is there support for development in the community? Will FOLIO operators support these options (as added technology requirements)? Do PC/TC have a preference as far as an internal versus external solution for workflows in FOLIO?

TAMU's implementation is based on the proof-of-concept work done for FOLIO earlier; they use it mainly for coordinating reporting. TAMU can offer product ownership for the Camunda app area. Interested in seeing if there is an Airtable or Prefect module that can interact with mod_workflow as the mod_camunda engine does now. We will likely learn much about workflow requirements by implementing one of these other options in FOLIO and how it integrates with the rest of the system. Work continues at TAMU to ensure things like tenant integrity. The initial assumption was that all of the API end-points would be exposed to the workflow engine; instead, perhaps a module can support a subset of endpoints to a workflow engine.

"Workflow" is an item on the FOLIO roadmap. Jeremy can be a PO for this area. Is this the right time for a call-for-participation to see what resources are available for this work and the formation of a SIG?

Is this something hosting providers would support? (In which case, should it become an RFC?) Want to avoid a situation like reporting where different providers are going in different directions.

Because "workflow" means different things to different people, should we explore whether the tools being considered now fulfill the needs of the workarounds that are in place now? (A SIG would be a good way of doing this.) Jeremy and Martina will work on a call for a SIG formation.

5 minFuture agenda items

Chat log

00:07:33	Owen Stephens:	Pilot “area of functionality” 🙂
00:07:57	Jeremy Huff @ TAMU:	Reacted to "Pilot “area of funct..." with 😁
00:15:32	Peter Murray:	"Service interaction" is an odd choice for naming this area. I'm not sure it has much meaning. What kind of other things would be put in this area of settings?
00:16:45	Maura Byrne:	Reacted to ""Service interaction..." with 👍
00:20:51	Della Porta, Ann:	Could you confirm that this function could support generation of Library of Congress Control Numbers (LCCNs) for bibs and authorities in a way that could enable all LC staff to receive a unique number that meets the structural requirements of LCCNs?
00:21:08	Owen Stephens:	Although not in the Flower releases (yet…) the Open Access app is already in a position to use the Number Generator and you can see it in action in Snapshot
00:21:41	Gang Zhou | SHL:	Reacted to ""Service interaction..." with 👍
00:21:55	Caitlin Stewart (she/her):	Took to words out of my mouth, Brooks :)
00:22:07	Brooks Travis:	Reacted to "Took to words out of..." with 👍🏻
00:22:58	Gang Zhou | SHL:	what about the performance ?
00:23:44	Maura Byrne:	“Cross-app-utilities”?  Maybe that could go in a description.
00:23:53	Gang Zhou | SHL:	Reacted to "“Cross-app-utilities..." with 👍
00:23:59	Brooks Travis:	I think it fits nicely, and helps clarify the “app” definition. I would consider this an app. It’s a discrete set of functionality that provides both a UI and a back-end API that can utilized by other modules.
00:26:05	Owen Stephens:	When mod-service-interaction was named we consider three possibilities:
00:26:06	Owen Stephens:	mod-user-appinteraction
00:26:34	Owen Stephens:	I think ‘ui-crossapp-settings’ might be an option?
00:26:44	Maura Byrne:	Reacted to "I think ‘ui-crossapp..." with 👍
00:27:05	Brooks Travis:	You could create a settings section for each major piece
00:27:16	Brooks Travis:	There’s no reason that it has to be a single item in that list.
00:28:06	Jenn Colt:	Does this have any kind of overlap with the other settings consolidation?
00:28:13	Ian Walls:	so long as it's clearly documented in docs.folio.org, what does the name matter?
00:28:32	Owen Stephens:	I think the label in the Settings is really the key thing tbh
00:28:40	Owen Stephens:	As that’s the only thing the user will see
00:29:08	Brooks Travis:	“Branding”, Ian 😉
00:29:16	Jesse Koennecke (he/him):	Stepping away for a couple of minutes.
00:29:21	Ian Ibbotson:	:)
00:29:54	Owen Stephens:	+1 - sharing information at a PO meeting would be a good idea I think (rather than limiting to crossapp)
00:30:15	Owen Stephens:	Since while the functionality is ‘cross app’ any app can adopt it
00:30:45	Alexis Manheim:	brb
00:31:11	Martina Tumulla:	Replying to "+1 - sharing informa..."

yes, of course
00:32:06	Owen Stephens:	I think documenting some example of what sort of volume of data it needs to keep up with and checking performance is a good idea
00:32:19	Ian Ibbotson:	+1
00:34:38	Brooks Travis:	Is it a new UI module?
00:35:17	Maura Byrne:	Replying to "so long as it's clea..."

00:36:12	Jenn Colt:	It is making sense to me
00:36:28	Maura Byrne:	Reacted to "It is making sense t..." with 👍
00:37:01	Peter Murray:	Reacted to "https://www.gocomics..." with 😂
00:37:11	Carol Sterenberg:	Reacted to "https://www.gocomics..." with 😂
00:39:05	Owen Stephens:	It’s heavy not just in terms of process but in terms of running the system
00:39:15	Owen Stephens:	More modules = more work all round
00:39:21	Tod Olson:	Reacted to "It’s heavy not just ..." with 👍
00:39:40	Ian Walls:	agreed, Ian.  we're trying very hard to balance the potential for innovation and growth with limited resources for long term maintenance
00:41:16	Ian Walls:	I lean towards opening the doors for new innovation, since that will bring in more folks to the community
00:42:29	Owen Stephens:	I’m also in favour although I’d suggest that a discussion with the POs and consideration of relabelling at least in the UI to avoid the “Service interaction” label in settings in favour of more intuitive language
00:42:45	Maura Byrne:	Reacted to "I’m also in favour a..." with 👍
00:43:11	Brooks Travis:	Zoom freaked out and wouldn’t let me lower my hand
00:43:24	Brooks Travis:	Or unmute
00:43:26	Brooks Travis:	:/
00:43:33	Kristin Martin (UChicago she/her):	Reacted to ":/" with 😂
00:43:36	Owen Stephens:	Replying to "Zoom freaked out and..."

You WILL ask a question. The machines are taking over
00:48:05	Ian Walls:	we've been using N8N at ByWater.  written in Node, connects to a nice combination of online services and core system utilities. workflows build visually.
00:49:16	Jenn Colt:	Reacted to "You WILL ask a quest..." with 🤖
00:49:21	Owen Stephens:	Replying to "we've been using N8N..."

It would be really interesting to see a demonstration of how this works
00:49:32	Jenn Colt:	Reacted to "It would be really i..." with âž•
00:51:29	Jenn Colt:	Everybody needs flexibility!
00:51:40	Owen Stephens:	Honestly I think that’s a good thing. We need to have good quality processes for all code and shouldn’t rely on ‘app’ gatekeeping for this
00:51:51	Brooks Travis:	I would lean toward ensuring that FOLIO provides functionality and integration points that enable workflow automation tools to integrate rather than pick a specific workflow engine or build one specifically for FOLIO.
00:52:15	Brooks Travis:	I assume that’s what mod-camunda is doing
00:52:37	Owen Stephens:	And reducing the footprint of Folio while increasing it’s functionality seems good 🙂 (there are probably some boundaries to draw here, but I think we should generally welcome this)
00:53:17	Ian Walls:	I would think a workflow engine like Camunda would be a core piece of the Platform (by which I mean pieces like Okapi, Postgres, Kafka, etc)
00:54:09	Ian Walls:	if we support multiple workflow engines, then I'd recommend we consider supporting multiple database engines as well
00:55:33	Brooks Travis:	What services will mod-workflow provide?
00:56:45	Owen Stephens:	Replying to "I would think a work..."

I think this is a really key question. I’m always inclined towards not tying to a specific product/platform. But so far in Folio the direction seems to have gone towards picking a solution and using it
00:56:53	Owen Stephens:	Replying to "I would think a work..."

And I can understand why
00:58:03	Ian Walls:	how much is FOLIO a Product v. an approach to interoperability?
00:58:41	Owen Stephens:	I think this is really important point Jeremy - flexibility and agility seems prudent - although we could aim for that and still decide there is currently one thing we directly support/develop for
00:58:56	Maura Byrne:	Reacted to "I think this is real..." with 👍
00:59:44	Owen Stephens:	I think the type of functionality we’ve seen demonstrated by Camunda/Airflow/Prefect will be a huge step for Folio
00:59:57	Owen Stephens:	Replying to "I think the type of ..."

Positive step I should say!
01:00:25	Ian Walls:	important feature (activation/deactivation)... helpful for maintaining a history of one-time workflows for things like data cleanup
01:01:55	Owen Stephens:	I’d be very interested to know how far hosting providers will commit / want to support the options
01:02:42	Jenn Colt:	I think this is really key wrt implementers - those of us already working are doing so because we really needed it. The longer we wait, the more invested we get in what we are doing now. It feels like a stressful position to be in right now, trying to decide what is the right thing to do.
01:03:54	Tod Olson:	And wishing to avoid the sunk cost fallacy. What becomes the long-term sustainable approach, and how do we get there?
01:04:06	Jenn Colt:	The thing about “giving” is it take resources, which are easier gathered perhaps by the kind of institutions already implementing, maybe.
01:05:31	Brooks Travis:	That is why I advocate for an approach that focuses on making FOLIO as generally engine-friendly as possible (providing things like event-based triggers, for example)
01:05:44	Owen Stephens:	How do we best engage with the hosting providers on this question?
01:06:07	Jenn Colt:	Maybe this becomes an RFC situation?
01:07:15	Brooks Travis:	Reacted to "Maybe this becomes a..." with 💯
01:09:51	Tod Olson:	++Sharon
01:09:59	Ian Walls:	wouldn't permissions be a good method for this kind of endpoint filtering?  The workflow 'user' would only see what it has permissions to see, and institutions who want a shorter list of options can give the user less permisison
01:10:08	Ian Ibbotson:	+1
01:10:37	Maura Byrne:	Reacted to "wouldn't permissions..." with 👍
01:11:34	Jenn Colt:	Is the PO from TAMU already in the wings?
01:13:21	Jenn Colt:	For this it might
01:13:29	Brooks Travis:	I would have a (first blush) concern that anything that requires hosting the workflow engine, itself, would be a significant roadblock (not to mention excluding fully-hosted engines like PowerAutomate)
01:16:49	Owen Stephens:	Although my heart sinks a little when I start to wonder where I’ll fit in another weekly SIG meeting 🙂
01:17:03	Tod Olson:	Reacted to "Although my heart si..." with ✔️
01:17:08	Jenn Colt:	Reacted to "Although my heart si..." with ✔️
01:17:11	Maura Byrne:	Reacted to "Although my heart si..." with ✔️
01:17:12	Martina Schildt | VZG:	Reacted to "Although my heart si..." with ✔️
01:17:13	Brooks Travis:	Reacted to "Although my heart si..." with 😭
01:25:08	Ian Walls:	I've thought extensively on this, and I have a model (which I've floated before).  If folks are willing to hear it again, I'd be happy to present it for discussion, but only if invited.
01:28:01	Owen Stephens:	I’d see what Tod is describing as already something the SIGs can/do/should do?
01:28:18	Maura Byrne:	Reacted to "I've thought extensi..." with 👍
01:28:28	Jenn Colt:	Replying to "I’d see what Tod is ..."

This is my experience as a sig member but experiences may vary
01:28:39	Owen Stephens:	Replying to "I’d see what Tod is ..."

That’s certainly how it works in the products I’m involved in
01:29:38	Owen Stephens:	I would say that the first two agenda items today seemed a really healthy, interesting and useful discussions for the PC
01:29:48	Tod Olson:	Replying to "I’d see what Tod is ..."

I always feels like there areas where the functional experts aren't brought into the dev cycle until BugFest. Though maybe that's an obsolete impression.
01:30:26	Tod Olson:	Replying to "I’d see what Tod is ..."

Or rather, involved in defining cases, but then not until BF.
01:30:30	Owen Stephens:	I wonder if we can look at the things we think really have gone well and look at what works and what doesn’t work in the current structure as well as what we want to support
01:30:52	Jenn Colt:	Me too, it also occurs to me that it really shook out the tech folks today which is interesting when thinking about how tc/pc work together
01:30:56	Maura Byrne:	Reacted to "I always feels like ..." with 👍
01:31:03	Owen Stephens:	Reacted to "Me too, it also occu..." with 💯
01:31:10	Tod Olson:	Reacted to "Me too, it also occu..." with 💯
01:31:16	Sharon Wiles-Young:	Reacted to "Me too, it also occu..." with 💯
01:31:52	Owen Stephens:	We appreciate you too!
01:31:58	Jenn Colt:	Reacted to "We appreciate you to..." with âž•
01:32:00	Gang Zhou | SHL:	Reacted to "We appreciate you to..." with 👏
01:32:01	Martina Schildt | VZG:	Reacted to "We appreciate you to..." with 👏
01:32:02	Sharon Wiles-Young:	Reacted to "We appreciate you to..." with âž•
01:32:05	Owen Stephens:	Thanks all
01:32:08	Carol Sterenberg:	Thank you!