Customising HTML
I'm an experienced front-end developer and have been tasked with applying some fixes to an NC instance.
In all honesty, what's there right now is terrible. Those who have gone before me have been problem solvers for sure but it resembles something of spaghetti code that is only going to cause problems further down the road.
Rather than add to the spaghetti, it's far more pragmatic to rewrite things.
From what I could tell in my background reading, the only way to customise HTML is to overwrite the controls? Given I don't have access to the server, that's not possible.
So really looking for best way of doing things.
The idea behind NC is nice but it really doesn't fit into a modern web workflow.
Any help appreciated.
Steven
Comments
-
Hello Steven, I too am a developer who has struggled with NetCommunity's poorly written platform. I have found a few alternative methods of extending NetCommunity, but nothing terrific.
NetCommunity relies on ASP postbacks to process front-end data. You cannot pass data from one part of a page to another via JS, I have tried many methods of doing this. The only method that worked partially was creating localstorage values, but even that was unreliable. NetCommunity's API is poorly documented and the only publically exposed method is account creation as far as I know.
If you're familiar with PHP or cURL, I have created some scripts that play well with the postbacks and also properlly pass hidden ASP form values with each request. So far I've been able to create a user, login a user / pull their info, submit forms, etc... If you'd like to try out these scripts I'm happy to share, though they are still in development.
As a side note, you can inject JS / jQuery into unformatted parts, though due to the postback restrictions, you will not get very far.
Feel free to shoot me an email: mail@chrismcgrane.com
-Chris
0 -
Chris McGrane:
Hello Steven, I too am a developer who has struggled with NetCommunity's poorly written platform. I have found a few alternative methods of extending NetCommunity, but nothing terrific.
NetCommunity relies on ASP postbacks to process front-end data. You cannot pass data from one part of a page to another via JS, I have tried many methods of doing this. The only method that worked partially was creating localstorage values, but even that was unreliable. NetCommunity's API is poorly documented and the only publically exposed method is account creation as far as I know.
If you're familiar with PHP or cURL, I have created some scripts that play well with the postbacks and also properlly pass hidden ASP form values with each request. So far I've been able to create a user, login a user / pull their info, submit forms, etc... If you'd like to try out these scripts I'm happy to share, though they are still in development.
As a side note, you can inject JS / jQuery into unformatted parts, though due to the postback restrictions, you will not get very far.
Feel free to shoot me an email: mail@chrismcgrane.com
-Chris
Thanks Chris.
I noticed that this page https://www.yorkspace.net/events/uk has much more customised markup for the event listing than the NC I'm working on. Ours currently uses a table but the York site is a series of divs.
I can't see how I'd alter that as appropriate.
In the main I don't really need anything particularly dynamic, just being able to change markup, add classes etc would suffice.
0 -
Hello Steven,
The example you've provided shows a self-hosted NetCommunity site where they have modified the actual platform to use divs over tables. This is not something you will be able to accomplish easily with JS as a hosted client.
Chris0 -
As it transpires, we're self-hosted too, so this should be possible.0
-
If you're self hosted than you can find where the tables are being generated pretty easily in the source.0
-
Thanks Chris,
Does that apply to general page templates and layouts then? Can these be done in your IDE/Text editor and then upload to the server rather than having to upload via the NC admin interface.0 -
Wow - just created an empty template and it weighs in at just under 1Mb with about 3 different jQuery libraries and a ton of other scripts for various purposes.
0 -
You should be able to edit the core files and upload back to the server. I imagine it's some ASP script that is responsible for the abyss of nested tables.
As a hosted client, I modify html structure with jQuery. The multiple references to jQuery are frustrating, even if you remove them with JS, they are still loaded as resources. I had to mess with some noConflict calls to properly inject custom JS globally. While our site is still in development, you can see an example of some heavy NC customization.0 -
Lovely site.
I'm used to having a blank canvas when it comes to front-end dev, so having all of this junk is such a pain, never mind having to upload CSS/markup into a textarea - it just doesn't fit into a modern web workflow.0 -
Thanks Steven! I agree, NetCommunity was not meant for developers, nor was it created by real developers. We do what we can to improve this system because Blackbaud does not seem to adopt any community feature requests for this platform.
Chris0 -
Steven, we've been using NC since 2011 and it's been a rough go. Last year we did a redesign and since most of the NC forms are table-based, what I ended up doing was completely hiding them via CSS and then creating my own forms in an unformatted text part. I then used jQuery to connect my form fields with the hidden NC forms. So when someone fills out my custom 'FirstName' field, it is automatically filling out the NC form 'FirstName' field. And when the Submit button is clicked, it actually triggers the click event on the NC form.
It takes extra time and effort, but doing it this way has allowed me to set up the website exactly how I want it (mostly).0 -
By the way, maf.org is our site.
0 -
-
I was recently able to complete a transaction using Phantom, anyone consider using a headless browser to navigate postbacks?
CM0 -
Hi Chris,
The Donate form parts are all custom. The Donation Checkout form is not, but I've used jQuery to manipulate the tables in order to put the labels above the form fields. I've thought about hiding the checkout form and building my own, but BBNC seems to pull other information into this page from the previous Donate pages, and since I have many donation forms there were enough unknowns that I didn't want to risk it.
Lance0
Categories
- All Categories
- Shannon parent
- shannon 2
- shannon 1
- 21 Advocacy DC Users Group
- 14 BBCRM PAG Discussions
- 89 High Education Program Advisory Group (HE PAG)
- 28 Luminate CRM DC Users Group
- 8 DC Luminate CRM Users Group
- Luminate PAG
- 5.9K Blackbaud Altru®
- 58 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 409 bbcon®
- 2.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- donorCentrics®
- 1.1K Blackbaud eTapestry®
- 2.8K Blackbaud Financial Edge NXT®
- 1.1K Blackbaud Grantmaking™
- 527 Education Management Solutions for Higher Education
- 1 JustGiving® from Blackbaud®
- 4.6K Education Management Solutions for K-12 Schools
- Blackbaud Luminate Online & Blackbaud TeamRaiser
- 16.4K Blackbaud Raiser's Edge NXT®
- 4.1K SKY Developer
- 547 ResearchPoint™
- 151 Blackbaud Tuition Management™
- 1 YourCause® from Blackbaud®
- 61 everydayhero
- 3 Campaign Ideas
- 58 General Discussion
- 115 Blackbaud ID
- 87 K-12 Blackbaud ID
- 6 Admin Console
- 949 Organizational Best Practices
- 353 The Tap (Just for Fun)
- 235 Blackbaud Community Feedback Forum
- 55 Admissions Event Management EAP
- 18 MobilePay Terminal + BBID Canada EAP
- 36 EAP for New Email Campaigns Experience in Blackbaud Luminate Online®
- 109 EAP for 360 Student Profile in Blackbaud Student Information System
- 41 EAP for Assessment Builder in Blackbaud Learning Management System™
- 9 Technical Preview for SKY API for Blackbaud CRM™ and Blackbaud Altru®
- 55 Community Advisory Group
- 46 Blackbaud Community Ideas
- 26 Blackbaud Community Challenges
- 7 Security Testing Forum
- 1.1K ARCHIVED FORUMS | Inactive and/or Completed EAPs
- 3 Blackbaud Staff Discussions
- 7.7K ARCHIVED FORUM CATEGORY [ID 304]
- 1 Blackbaud Partners Discussions
- 1 Blackbaud Giving Search™
- 35 EAP Student Assignment Details and Assignment Center
- 39 EAP Core - Roles and Tasks
- 59 Blackbaud Community All-Stars Discussions
- 20 Blackbaud Raiser's Edge NXT® Online Giving EAP
- Diocesan Blackbaud Raiser’s Edge NXT® User’s Group
- 2 Blackbaud Consultant’s Community
- 43 End of Term Grade Entry EAP
- 92 EAP for Query in Blackbaud Raiser's Edge NXT®
- 38 Standard Reports for Blackbaud Raiser's Edge NXT® EAP
- 12 Payments Assistant for Blackbaud Financial Edge NXT® EAP
- 6 Ask an All Star (Austen Brown)
- 8 Ask an All-Star Alex Wong (Blackbaud Raiser's Edge NXT®)
- 1 Ask an All-Star Alex Wong (Blackbaud Financial Edge NXT®)
- 6 Ask an All-Star (Christine Robertson)
- 21 Ask an Expert (Anthony Gallo)
- Blackbaud Francophone Group
- 22 Ask an Expert (David Springer)
- 4 Raiser's Edge NXT PowerUp Challenge #1 (Query)
- 6 Ask an All-Star Sunshine Reinken Watson and Carlene Johnson
- 4 Raiser's Edge NXT PowerUp Challenge: Events
- 14 Ask an All-Star (Elizabeth Johnson)
- 7 Ask an Expert (Stephen Churchill)
- 2025 ARCHIVED FORUM POSTS
- 322 ARCHIVED | Financial Edge® Tips and Tricks
- 164 ARCHIVED | Raiser's Edge® Blog
- 300 ARCHIVED | Raiser's Edge® Blog
- 441 ARCHIVED | Blackbaud Altru® Tips and Tricks
- 66 ARCHIVED | Blackbaud NetCommunity™ Blog
- 211 ARCHIVED | Blackbaud Target Analytics® Tips and Tricks
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- Luminate CRM DC Users Group
- 225 ARCHIVED | Blackbaud eTapestry® Tips and Tricks
- 1 Blackbaud eTapestry® Know How Blog
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)
- 1 Blackbaud K-12 Education Solutions™ Blog
- 280 ARCHIVED | Mixed Community Announcements
- 3 ARCHIVED | Blackbaud Corporations™ & Blackbaud Foundations™ Hosting Status
- 1 npEngage
- 24 ARCHIVED | K-12 Announcements
- 15 ARCHIVED | FIMS Host*Net Hosting Status
- 23 ARCHIVED | Blackbaud Outcomes & Online Applications (IGAM) Hosting Status
- 22 ARCHIVED | Blackbaud DonorCentral Hosting Status
- 14 ARCHIVED | Blackbaud Grantmaking™ UK Hosting Status
- 117 ARCHIVED | Blackbaud CRM™ and Blackbaud Internet Solutions™ Announcements
- 50 Blackbaud NetCommunity™ Blog
- 169 ARCHIVED | Blackbaud Grantmaking™ Tips and Tricks
- Advocacy DC Users Group
- 718 Community News
- Blackbaud Altru® Hosting Status
- 104 ARCHIVED | Member Spotlight
- 145 ARCHIVED | Hosting Blog
- 149 JustGiving® from Blackbaud® Blog
- 97 ARCHIVED | bbcon® Blogs
- 19 ARCHIVED | Blackbaud Luminate CRM™ Announcements
- 161 Luminate Advocacy News
- 187 Organizational Best Practices Blog
- 67 everydayhero Blog
- 52 Blackbaud SKY® Reporting Announcements
- 17 ARCHIVED | Blackbaud SKY® Reporting for K-12 Announcements
- 3 Luminate Online Product Advisory Group (LO PAG)
- 81 ARCHIVED | JustGiving® from Blackbaud® Tips and Tricks
- 1 ARCHIVED | K-12 Conference Blog
- Blackbaud Church Management™ Announcements
- ARCHIVED | Blackbaud Award Management™ and Blackbaud Stewardship Management™ Announcements
- 1 Blackbaud Peer-to-Peer Fundraising™, Powered by JustGiving® Blogs
- 39 Tips, Tricks, and Timesavers!
- 56 Blackbaud Church Management™ Resources
- 154 Blackbaud Church Management™ Announcements
- 1 ARCHIVED | Blackbaud Church Management™ Tips and Tricks
- 11 ARCHIVED | Blackbaud Higher Education Solutions™ Announcements
- 7 ARCHIVED | Blackbaud Guided Fundraising™ Blog
- 2 Blackbaud Fundraiser Performance Management™ Blog
- 9 Foundations Events and Content
- 14 ARCHIVED | Blog Posts
- 2 ARCHIVED | Blackbaud FIMS™ Announcement and Tips
- 59 Blackbaud Partner Announcements
- 10 ARCHIVED | Blackbaud Impact Edge™ EAP Blogs
- 1 Community Help Blogs
- Diocesan Blackbaud Raiser’s Edge NXT® Users' Group
- Blackbaud Consultant’s Community
- Blackbaud Francophone Group
- 1 BLOG ARCHIVE CATEGORY
- Blackbaud Community™ Discussions
- 8.3K Blackbaud Luminate Online® & Blackbaud TeamRaiser® Discussions
- 5.7K Jobs Board