Church/Charity Dashboard


#1

Hi,

I’m new to PanX, but somewhat familiar with Filemaker.

I lead a small church which is also a registered charity. Over the years, I’ve been frustrated by the lack of a solution that would allow me to manage the whole church/charity. Filemaker gave me the idea of building the solution, but primary key fields and foreign key fields and the warnings that I MUST create a proper ERD diagram first or my computer will explode :slight_smile: all led me to put off creating this solution. I am now in the situation that I really need to get this solution built. I’ve tried CMS and similar software, but each one requires me to shoehorn my data to fit their general features. I’m hoping this forum and you wise people will point me in the right direction and guide as to the best way to build this or if I am barking up the wrong tree.

First let me tell you about my skillset. I’m proficient with computers (although that is relative), develop websites, can use the command line on occasion but am not a programmer (the programming seen in many examples of PanX databases concerns me a little).

What am I trying to build?

  1. A contact list of all members, volunteers and visitors. To include new UK GDPR requirements which means most likely a scanned copy of consent to have personal data processed from each individual. I would also like this to show relationships between individuals. It is essential to know who is married to whom and who their children are.
  2. A rota system that will allow me to see what each volunteer is involved in as well as highlight over involvement and clashes in different areas.
  3. A list of all departments linked to people working in that department and those leading it.
  4. An annual plan that contains all that is going on in the church for the current calendar year. Linking in events from departments, regular weekly meetings. This needs to contain who is responsible, resources required and deadlines. This also needs to include the preaching, teaching subjects for the year, and allow us to plan weekly topics and who’s responsible.
  5. Attendance records for all activities.
  6. Financial giving record. A simple record of the total that is given each week.
  7. Preparation db that allows all preaching, teaching to be ordered chronologically so that I can see what I need to prepare at a glance. This needs to contain the name of the topic, Bible verses/passages this relates to and whether it is part of a series and how long the series is.
  8. Meeting tracker. I meet with a lot of people inside and outside of the church. We have a good community involvement. I need to track those meetings plus meeting notes. I also need to be able to see the history of my meeting with an individual. I also need to record minutes for charity purposes and track actions coming out of those meetings and who is responsible for the action.
  9. Expenses. I need to track my spending and record my mileage
  10. Managing projects. We may have a large event that requires months of planning.

Finally, Im hoping that all these items will interconnect so that I can reuse information such as people contact info.

I appreciate this is a large project and realise a lot of detail is missing. What I really need to know is if this is realistically possible with PanX? My understanding is that tables in PanX are just separate databases and that they can be linked and referenced with procedures or formulas. I am therefore thinking that each section becomes a separate database that is then linked appropriately.

If this is possible, what is the best way to start and more importantly, what do I need to learn or understand about PanX to achieve this?

Many thanks
Simon


#2

The short answer is “yes”. You can do all of that in Panorama, and most of it without complex programming. There’s no need to build an ERD diagram either, although it never hurts to know where you’re going.

I’d suggest starting with your Contact list as the place to start learning while you build. You can add a field to track the scanned images for display within a form and, as one way to do it, add a field for a family ID number to link members of a family. Ideally every record would also have a unique id for linking to other databases.

Later you can add those other databases and link to the contacts’ id’s for a number of uses.


#3

Thanks James. Is this creating a primary key?


#4

What I’m suggesting is a unique identifier for each record; primary key being an applicable term for it. Other databases can then look for it in your Contacts to find anything that record contains. If you have two Mary Smiths, but each has a unique identifier, there’s no confusion on making matches. The key, id or whatever you call it doesn’t need to be displayed anywhere. It just needs to exist in the background for the software to use as users only deal with a Mary Smith.

As your other databases come into existence they don’t need a name field or any other field, aside from the identifier, that contains data from the Contacts. That can always be obtained instantly via lookups, arrays or other Panorama Functions. Mary Smith’s name, address and family members are instantly obtainable without redundant data storage.

Regarding family members in Contacts, there are lots of ways to do it, but say Mary has an ID of 123. Another field could be used to give all of her family members a group id of xyzzy, unique to the group. Or they could be 123.1, 123.2…

One of the beauties of Panorama is that you don’t have to overthink it up front. You can change, add or delete fields readily, so as you discover a new need, you add a new field or two. Or split an existing field. It’s normal for Panorama databases to evolve rather than be replaced with new designs.

Start simple to learn the basics and build it out.


#5

Thanks James.

How to one to many and many to many relationships work in PanX? If I have one contact, but want the contact to have many notes, do I create a separate notes database that links to the contact?


#6

2 Tables

Contacts

Bob B1
Mike M1
Mark M2

Notes

B1 Mary met Bob at age 3
B1 Knowledgable electrician
M2 Everyone loves Mark


#7

Thanks RAmeeti,

By tables I assume you mean two different databases?

I’m not quite following the B1 process. Is B1 the ID of the record Bob? How does the Notes database know that “B1 Mary met Bob at age 3” is related to the “Bob B1” in the Contacts database?


#8

Yes B1 is the ID for Bob’s record in the Contacts database. The Notes database could do a lookup in the Contacts database, using B1 as the key and it would find that this is a note about Bob. More likely, the Contacts database would be doing a lookupall or arraybuild to list the notes about Bob.


#9

I think it depends a lot on the amount of notes as to whether another database comes into play.

If it’s an ongoing log of phone calls or other events that involve a paragraph or so with every entry, AND if each contact is likely to have several such notes, then a linked Notes database would be reasonable and could pull up all of Bob’s Notes in an instant.

If the notes per person don’t exceed more than a few paragraphs, in one or more fields, then they can easily stay in the Contacts database. My own Contacts file has years worth of notes on each person in a few fields. Phone Calls, for instance, may have many dated entries with a short comment about the call.

A concept worth repeating is in the flexibility to evolve. You could start with the notes in your contacts, then move them to another database later when you know more about what you need and how much is involved.


#10

How much text can one field hold?


#11

Virtually unlimited.


#12

Ah yes, I interchangeably refer to Panorama database files as tables, as the ‘set’ of Panorama ‘databases’ is typically referred to as the database in a more common sense. Typically a database is a collection of tables that interrelate.


#13

What about in terms of how much would begin to slow down processing?


#14

That’s likely to be a continuum. Two words would be slower than one.


#15

If I give a record in one db an ID, “Rxxx1”. If I then need to relate that record to other record in other db’s all I need to do is add a field with “Rxxx1” and I can then conveniently find all related records?


#16

I suppose what I’m asking is whether there’s an understood practical limit by PanX users? I’m trying to establish if one field can practically contain one years worth of short notes.


#17

Yes. That’s how relationships are done.


#18

Awesome! That means if I want things related I just need to ensure they carry the same id somewhere in the record.


#19

I think your own limitations would be more of a factor than Panorama’s. If you are taking notes on an hourly basis, that’s going to be a huge wall of text to read by the end of the year, but Panorama would probably prefer to have it all in one place, rather than assemble it from multiple records. The difference though would be a matter of seconds or fractions of a second.

It’s mainly a question of what works for you.


#20

In my displaying of the two tables, please that the ‘unique identifiers’ were separate fields from the ‘data’. Again, in the Contacts table, there are 2 fields, Name, and ID.

Contacts table

ID       Name		
==============
M1       Mike A	
M2       Mike B	
T1       Tom F		

=================

Notes table

Contact_ID	Note
==================
M1			Mary met Mike at age 4
M2			Mike died at age 2.