Q1: May I rename database tables, fields or stored procedures?
 No. You may not rename database tables, fields or stored procedures that are part of the core MinistryPlatform schema that came with your system or has been updated by Think Ministry Inc. Renaming custom fields you added or custom tables/pages is allowed but should be done carefully as any views, reports or tools built against those original objects will break.

Q2: May I rename/delete/add values in pages under System Lookups?
Never delete items in System Lookup pages.  Renaming them is generally not wise as it makes the knowledge base less useful to your church.  Adding values is generally acceptable, but there are certain system lookup pages like Contact Status and Group Role Types where this would be a huge liability to your church's use of the existing reports and tools. Consequently, always ask before adding values to system lookups.  It is expected and natural that your church would rename or add values to the pages under "Lookup Values".  Please do note that deleting values in any Lookup table may require a review of the Configurations page to ensure those ID numbers associated with those entries are not hardcoded in a configuration setting.

Q3: Can I rename pages so the value is more consistent with our church's internal terminology.  (Ex. changing "Congregations" in the Display Name of that page to "Campuses")
This is unwise and should be avoided for all pages that came with MinistryPlatform.  It would be better to leave that page alone and create a filtered page (a copy of that page with a value in the Filter Clause).  Changing the internal name of a page will not update reports and other hard-coded applications.  Where reasonable and requested by our churches, Think Ministry will give the church the ability to rename a value like "Congregation" on the external, public facing applications like the Portal.

Q4: May I rename reports and tool names in the drop-down menus used by users in MinistryPlatform?
You may do this, but it is unwise as it makes your system inconsistent with this KnowledgeBase. Doing this for your custom reports and tools is acceptable.

Q5: I have copied a page to make a filtered page and now something is wrong with the advanced search tool on pages that have a foreign key to the underlying table.
Always add a filter clause to your copy of the page. Having two unfiltered pages results in ambiguity for tools that dynamically draw the database using foreign key information from SQL Server and Page information in MinistryPlatform. Make sure people who will create advanced searches retain sufficient rights to the original, unfiltered page.

Q6: May I make changes to one of Think Ministry's reports (SSRS RDL Files) which came with MinistryPlatform?
No, if you make changes to our RDL file or to an underlying stored procedure then a future upgrade of that report may overwrite your changes.  Instead, copy the RDL file and deploy it with a different name so that you will have "forked" or "cloned" the report and taken your copy of it out of the upgrade path.

Q7: May I add fields to the default field list on a page?
Yes, first go to the page in the platform that you want to add a field to the default field list on. Use the Advanced search tool to grab the field you want to add. Then switch to the SQL view and copy the "Field List" SQL code. Then go to the Set-Up section of MinistryPlatform. Go to the Pages page, open the page record you want to update. (It is always best practice to copy what is there and paste it into another document before you edit the field list in case something is wrong you can easily revert.) Edit the page and add the SQL code to the field list in the appropriate place. Ensure to add a comma in the appropriate place. Click save. Go to the page you edited and switch to the default view to ensure that you can open the page without any errors. 

Q8: Can I change the default setting on a bit field?
Yes and No. If the field is required, the field labels are presented as a question to be answered as a yes or no, and the default is always negative.

For tri-state (nullable) bit field, the default is undefined but this can be changed in the database. In this case, the default value does not appear initially, but when the record is saved and displayed, the value is changed to the default.

Q9: We would like to move our small group members into MP.  Can we do this by importing them directly into the group's table?
No, we would not recommend importing anything directly to database tables. That would not create all the needed records and linkages. If the people are already in MP, then you can add people en masse to Groups, by using the Add button. However, if they are not in MP yet, then currently there is not a way to add new people en masse. The fastest way to manually add people is to use the Add/Edit Family Tool. Another option is to use the Group Finder on the Portal. You can direct everyone to sign up for Groups on the Portal. By doing so, they are added to the Group, and if new, are added to the Platform.

Q10: Can we create a page based on a database view?
No, the Platform only supports tables for pages. See this document for additional information: Filtered Pages

Q11: When you end date a group, it auto end dates the group participants. When creating a filtered page for groups, does this same logic apply?
In this case, the Auto Date still works because it is a trigger on the table.

Q12: Can we change the "friendly name" of a record that appears in drop-down menus? For example, anywhere the Rooms drop-down appears, it defaults to showing just the Room Name. Can that be modified to show Room Name and Room Number?
Yes, you can change the friendly name for drop-down menus by going to System Setup > Pages > open desired Page > change "Selected Record Expression" field. In the example above, you'd change the Selected Record Expression from the default Rooms.Room_Name to the desired Rooms.Room_Number + ' - ' + Rooms.Room_Name

Q13: I created a new page, but it's not listed as an option when I'm trying to create a Security Role. What's going on?
This is most likely just the system needing time to update/recognize this new page. To move it along, we need to help MP know that something changed. A go-to method for this is to edit the Addresses page in Setup Area > Pages and simply modify the description. Once you save any changes in the Pages section, MP reloads/re-reads all the MetaData from SQL.

Q14: What's the purpose of the underscore when it's the first character of a field name? (e.g., _Approved)
Sometimes the system needs to track information in a field that does not need to be seen on the front-end (typically to help when processing, notifying, etc.). The underscore at the beginning of the field hides the field from users - making the field hidden and valuable which, in turn, allows the system to run smoothly. Please do not ever take the underscore off an existing field.

Q15: Is it possible to change a field length in MinistryPlatform? (e.g., the Notes field on the Counseling Engagements page)
Technically, yes, it is possible to change a field length; e.g., the Notes field on the Counseling Engagements page could be changed from nvarchar(500) to nvarchar(2000). It's not advisable to go over 2000 due to the tax it puts on the server. Consult Support if you're uncertain whether changing a field length is a good idea.

Q16: Can you create a view that combines two fields into one column? For example, I want a column for Room and want it to include the record's Room Name and Room Number fields.
Yes, you can combine two fields into one in a view by adding SQL to the Field List. The SQL which would need to be added to the Field List depends on which table/page the view is on.  Contact Support if you need assistance.

Q17: For purposes of writing an SQL statement, is there any metadata stored in a table that indicates if an event is part of a series?
The metadata you're looking for can be found in these two tables: dp_Sequences and dp_Sequence_Records. If you need help writing an SQL statement, ThinkMinistry can do that as a Professional Service.

Q18: Is creating a sandbox really necessary? Can't I just make changes directly into the Production system?
Creating a sandbox and testing changes there is absolutely necessary. While you can technically write changes directly into a Production system, it is very unwise to do so. Also, note that problems created by changes to your database - especially outside a sandbox - will incur a fee for corrective action.

Q19: Can I add custom job routines to our system?
Yes, setting up your own jobs is fine (that said, we do not recommend editing MinistryPlatform-created jobs).

Q20: What does the "User" field on the "Page Section Pages" page control?
This field is deprecated and is no longer in use by the system.

Q21: Can I add custom User Defined Functions and use those in Page Views?
Yes. In general, this is supported in the platform. There may be limitations on what may be accomplished using this approach which can be determined by testing in the database/platform.