Tendenci AMS API Integration

Python Rules

OCT 2023 UPDATE: For information on accessing Tendenci data via API please see our GitHub discussion at https://github.com/tendenci/tendenci/issues/1023

For more on The Open Source AMS integration via API visit our AMS API Helpfile

Tendencithe Open Source AMS is unique in that it is fully open source. However at times people would prefer to use an API to pull specific information. For that Django has several API integrations for your Association Management System such as:

django-tasty-pie is a REST based API to your AMS
https://github.com/django-tastypie/django-tastypie
The Django Rest Framework is also something the Tendenci community has been discussing switching to it as well.
http://www.django-rest-framework.org/

API’s aren’t mutually exclusive after all, right? You have options.

There are legitimate reasons to use an API. Examples include integration between a legacy mainframe system, ecommerce, or a development team that has chosen a different platform such as .NET or PHP.

Tendenci doesn’t meet all of the functional requirements for everyone by design. Instead we work with great technology like machine learningThe open AMS community isn’t focused on reinventing the wheel. It just doesn’t make economic sense for a non-profit, or even a for profit company, to reinvent Amazon.com or Ebay.com. This is particularly true if you are causes-based association or non-profit given the expense.

Does Tendenci AMS work with other providers? Absolutely. Any provider with an API or that supports SSO or RSS or has their own technology like google tag manager.

Non profits don’t have money to waste. Therefore we aligned our product to major industry supported technology.

Our technology stack as of 2018 is:

  1. Tendenci
  2. Django Web Framework
  3. Javascript and jquery
  4. Bootstrap CS
  5. Python Programming Language
  6. Postgres Database with GIS
  7. Docker Containers
  8. Ubuntu

For more on The Open Source AMS integration via API visit our AMS API Helpfile or read up on everything Tendenci Works With. Or if you aren’t into open source, there are definitely alternatives to Tendenci.

If you do pick an alternative, we suggest you consider Security FIRST and go from there.

The Incredible Growth of Python – StackOverflow

growth of python programming language

Python, the language used to program TendenciThe Open Source AMS, continues it’s meteoric rise in the world of developers. And where the developers go is where the rest of us go. Thus Python’s rise matters. And it benefits every Tendenci user, self hosted or hosted with our small company (same software either way).

IEEE Spectrum rates the languages by its readers as follows:

Python has continued its upward trajectory from last year and jumped two places to the No. 1 slot, though the top four—Python, CJava, and C++—all remain very close in popularity.

StackOverflow, a go-to site for pretty much every programmer and sysadmin out there, has a new blog post up on the incredible growth of the Python Programming Language. Python is of course the programming language used in Tendenci – The Open Source AMS. From the Stack Overflow post:

June 2017 was the first month that Python was the most visited tag on Stack Overflow within high-income nations. This included being the most visited tag within the US and the UK, and in the top 2 in almost all other high income nations (next to either Java or JavaScript). This is especially impressive because in 2012, it was less visited than any of the other 5 languages, and has grown by 2.5-fold in that time.

They have numerous charts to back up the data, but these two in particular paint a telling picture.

From Stack Overflow – the current tag questions viewed:

Growth of Python Programming Language
StackOverflow – The Incredible Growth of Python

Perhaps even more impressive is the projection on the continued growth of Python. Just WOW!

growth of python programming language
Python – Incredible growth with developers

The above graphs should give you confidence in your choice of using Tendenci as your AMS as the developers are not only there, but growing. Given Tendenci is fully open source (this is different from “free trial” AMS systems which are NOT actually FOSS (Free and Open Source Software). Wikipedia describes the difference as:

(FOSS means) anyone is freely licensed to use, copy, study, and change the software in any way, and the source code is openly shared so that people are encouraged to voluntarily improve the design of the software.[3] This is in contrast to proprietary software, where the software is under restrictive copyright and the source code is usually hidden from the users.

Many of our competitors who are NOT Open Source and not true FOSS which can sometimes confuse people. I’ll do a future post on examples of sometimes misleading representations by AMS systems that are not “actually” Free and Open Source (FOSS)  as defined on Wikipedia.

The good news is with the growth of Python, it only make sense that developers will look at and many will join in to help the community improve the software as they join associations themselves.

We’ve written about why we chose Python over PHP to develop Tendenci open source several times. Correctly choosing the open source stack gives us, and everyone in the community, confidence to see the trends predicted correctly. It wasn’t rocket science – we just listened to our team, we listened to younger developers, and most importantly we listened to our clients on what the future was/is going to be.

And associations are kind of a big deal and they can’t use minimum viable products.

Why are associations unwilling to accept apps that meet only minimal requirements? Um… because they started as Guilds and go back to Medieval times. From Britannica on Guilds and Trade Associations:

Guildalso spelled gild , an association of craftsmen or merchants formed for mutual aid and protection and for the furtherance of their professional interests. Guilds flourished in Europe between the 11th and 16th centuries and formed an important part of the economic and social fabric in that era.

and Britannica goes on….

… associations are known to have existed in ancient Rome, however, where they were called collegia. These craft guilds seem to have emerged in the later years of the Roman Republic. They were sanctioned by the central government and were subject to the authority of the magistrates.

This is a huge topic of course. Just know that Tendenci is the ONLY top ranked AMS system that is truly FOSS. Unlimited admins, users, contacts – you can self host or if hosted with us we only charge for processing power. Got 1M users and contacts and 50 admins? No problem. And the growth of Python assures your continued freedom from vendor lock-in no matter what.

#peace and happy (Python) programming y’all!

Why Tendenci Chose Python over PHP

Note: this is a repost from the eschipul.com blog and also lives as a help file on Tendenci.

This blog is a WordPress blog written in PHP. And WordPress, which is written in PHP is a great platform when secured properly.

So why did our team choose to rewrite Tendenci Open Source and in the Python Programming language? It is a question I get asked a lot. We’ve never been a company that likes to talk in the negative if at all possible, yet it is important to talk about the megatrends going on given we work with associations and nonprofits.

Python Growing in Academia
Why Python instead of PHP for Tendenci

Source: https://www.upguard.com/blog/which-web-programming-language-is-the-most-secure

programming vulnerabilities
Vulnerabilities in each language

Source: http://info.whitehatsec.com/rs/whitehatsecurity/images/statsreport2014-20140410.pdf

security-report

Source: http://info.whitehatsec.com/rs/whitehatsecurity/images/statsreport2014-20140410.pdf

Popularity of a language is a trend, and what you want is as many developers familiar and liking the language of your open source project as possible. This means you have a better chance to have a secure web site and therefore a more secure future.

To be fair – as Disraeli said – “lies, damn lies and statistics” – so there is no one perfectly secure language any more than there is a perfectly “safe” hammer. There will always be operator error and programmers make mistakes.

So we’re not saying Python is perfect, and all of us have used most of the other languages on those charts at some point. We’re just saying we are pleased so many other programmers also like Python and Open Source. THAT is the best that can be done to secure your future online. Secure code that you can examine yourself and even host yourself!

Addendum: As I post this on the Tendenci Blog. Given we focus on non-profits, associations, memberships, education, medical, religious – basically the do-good cause-based organizations, I believe it is particularly important that the project is as transparent as possible. Sometimes it is healthy to inform everyone of WHY we made a decision seven years ago. Python was the right call.

Python still the most popular coding language and growing

Tendenci, the Open Source Membership Management Software, is written in in a programming language named Python. (Named after Monty Python of course!)

python ranks 1 for popular coding languages
Python – the most popular coding language of 2015

And Python is the most Popular Coding Language of 2015. A nice winning streak! This matters to people choosing membership software because open source means it can’t be taken away from you. Lots of options to export from Tendenci as well if a better solution for your particular needs comes up.

The more people who know a given programming language means you have lots of resources to support, extend, upgrade and hopefully also contribute to the tendenci software and get involved.

So let’s be honest, we all like playing on the winning team. We bet on Python very early. We used Python even on the windows platform in the early 2000s. Python has truly hit a critical-mass among developers.

Given the Django web framework behind Open Source Tendenci is written in Python, and all of Tendenci’s apps are written in Python, we feel pretty good about the future stability of our technology stack.

In other words, the future looks bright and we welcome more developers to join the Tendenci community!

(source: http://blog.codeeval.com/codeevalblog/2015#.VohU45MrLeQ= )

Tendenci Transformation – The Right Choices for the Future

We’ve had a lot of crucial conversations lately about decisions that we made between 2006 and 2010. Yup, really. We are explaining now about how we are possibly too far ahead of the curve and why if you give it a bit of time, it will make you look like a rock-star.

MobileGeddon being a great example of how our early adopters are benefiting the absolute most!

 

Top39-Programming-Trends-700.4
Python for the Win!

Source: Python is Now the Most Popular Introductory Teaching Language at Top U.S. Universities

We started using Python, the programming language named after Monty Python, in 2004 if not earlier. We first tested Pinax in 2008 if not earlier under J who was running our programming team.

We used Python extensively in our old environment to move files and push out content to our sites. Tasks that are now done by Puppet and Chef and Docker-Compose. We rolled our own using Python on Windows.

So for the curious, that explains why we have this huge depth of knowledge on Python programming dating back to when nobody heard of it. We’ve had to train numerous graduates of Tech, UofH, Aggies, Rice, Penn State, etc, what Python even was!

But that is all ancient history. Why? Because Python is now number 1!

Top39-Programming-Trends-700.4

It’s hard to predict the future. We started out writing our own compete web framework in ASP. We were too early in 2001. PHP soon arrived and, being basically identical but open source, the outcome was PHP won. It should have, and did, win. We were too early. But with timing there is also a bit of luck.

I’ll do another post about GIS and mapping and why our move to strictly Postgres with GIS enabled is working out so well. Another post. And I’ll edit this one with links soon. Just needed to get the content out.

Screen Shot 2015-05-12 at 3.28.36 PM

Bootstrap3. – Because we know that we take gambles on technology and they have an impact. On you. And that is serious business. We take it seriously as evidenced by our decision to shut down Windows in line with Microsoft’s EOL policies. These are hard choices. Crucial Conversations. We’re the messenger.

And we CARE about YOU. Our clients. The future is bright. We picked our technology future amazingly well. Too well, so now perhaps our problems is more one of resources. And we’ll work through that.

Thank you. If I can leave you with one thought – it is this. THANK YOU! For those who stuck with us, WOW, um… our position for search and the future is crazy good. Open Source means freedom. Results mean donations and sales. Software means sustainable business models.

We appreciate you. Yes closure for some was hard. We wish you the best. We appreciated your time with us while it lasted longer than a Honda. As some depart and some charge forward, I’m especially excited about those who chose to charge forward.

We, you and us, we didn’t “guess” right. We did our homework and validation came ironically on April 21, the same day mobilegeddon hit and our Tendenci 6 clients jumped up in the search rankings. Luck? Hard work? I don’t know.

What do I know? I know how to serve. I serve y’all.

#peace

Ed

 

Update on Tendenci 5 sites

To our clients on the Open Source Tendenci 5, and the brave clients volunteering to beta test with us on Open Source Tendenci 6 (which I haven’t even had a chance to blog about yet) – all of y’all are still online, have had zero downtime and remain rock solid. Linux and Django and Containers are definitely proving how much stronger they can make Tendenci. This is done by design and made possible by virtue of the flexibility and low cost associated open source in the cloud. It is achieved through isolation, portability and flexibility. I hope you are not frustrated by our team being laser focused on helping our long time clients who experienced outages. I apologize for the slower response time. I know you are missing reports and other items that were there in T4; they will return to being my focus once all of our data centers are fully back online regardless of technology.

Further I am aware of the fact this has thrown numerous projects wildly behind on their timelines and disrupted you as well. All things considered, if your site was offline, you would demand the same from us – to focus on bringing everyone back up.

Ethically, we (Tendenci) must stay the course and get these sites functional. Even now I feel guilty taking the time to write this instead of working on the technical details. I also know people need to know we have a plan (we do) and there is an end in site (there is) and that it will be a success (it will be). And that we have learned from it (we have).

To our Tendenci4 legacy clients on the Microsoft platform, you are and have been MY TOP PRIORITY and the top priority of the entire team. We knew the Internet had changed, just perhaps not how much it had changed in the category of zero day types of threats. See next post.

 

PyCon US 2013 – Python Conference in Santa Clara, Californa

[![image][audience]][audience-link]
[Photo by Eloy Zuniga Jr.][audience-link]

### You’d like it

For those of you who love to tinker with things or reverse engineer them (destroy them) to figure out how they work, [this is your place][pycon-url].

It’s always great to see the latest and greatest being invented by **2500** of your closest friends. When services and features are extremely undervalued and success is at it’s infancy.

Have doubts about the size of this annual event? [Check out the sponsors][sponsors].

I’ve been a programmer now for more than 10 years and a Python developer for over 3 and I can sincerely say I may never grow old of this stuff. It keeps me young, can I say that? Just did.

### What you’ll see and maybe learn

What to expect when your “[Excepting][exceptions],” little bit of nerd humour there, don’t mind if I do. But seriously, what should you expect if you come on down?

[![image][photo-guido]][guido]
[Photo by Ed Schipul][guido]

1. Well we have lightning talks with rapping programmers. [Listen to this intro][lightning-talks].

2. We have the benevolent dictator which only [speaks genius][keynote]. One of these days I’ll be able to understand his entire talk. AKA the creator of Python.

3. [The creator][keynote2] of the [Raspberry Pi][raspberry-pi]. A less-expensive computer that’s providing for those on the other side of the digital divide.

4. People sporting the latest technology such as [Teslas][tesla] and [Google Glasses][glass]. Maybe the car had more to do with the fact we were in California.

[![image][photo-tesla]][tesla]
[Photo by Ed Schipul][tesla]

### Tell me more about these “Lightning Talks”
Anyone attending PyCon can have 5 minutes to talk about anything that is *remotely* associated to Python. Bright minds are sitting in the audience, they could be sitting next to you … you could be one. So why not let them speak.

For 5 minutes you can talk to one of the widest Python audiences you’ll probably ever encounter. Talk about a pet project, do a little venting, bring a community together and promote your conference.

Just be careful, developers tend to be highly sensitive to the ole sales-pitch.

### See you next year

We had a great time — I hope this is obvious — we did a lot of learning, and we hope to see you next year.

[![image][photo-group]][group]
[Photo by Ed Schipul][group]

### References

1. [Full List of PyCon US 2013 Videos][pycon-videos]
2. [Photos taken by Ed Schipul][pycon-photos]
3. [PyCon 2011 Blog Post][pycon-2011-blogpost]

[pycon-videos]: http://pyvideo.org/category/33/pycon-us-2013 “PyCon US 2013 Videos”
[pycon-photos]: https://www.tendenci.com/photos/set/58/ “PyCon US 2013 Photos”
[pycon-2011-blogpost]: https://blog.tendenci.com/pycon-2011/ “Pycon US 2011 Blogpost”
[lightning-talks]: http://pyvideo.org/video/1853/friday-evening-lightning-talks “Lightning Talks”
[exceptions]: http://docs.python.org/3.3/tutorial/errors.html “Errors and Exceptions”
[keynote]: http://pyvideo.org/video/1667/keynote-1 “Keynote Guid Van Rossum”
[keynote2]: http://pyvideo.org/video/1668/keynote-2 “Keynote Eben Upton”
[raspberry-pi]: http://www.raspberrypi.org/ “Raspberry Pi”
[audience]: http://distilleryimage2.s3.amazonaws.com/fc91835c8d8e11e2beb722000a9f3ce2_7.jpg “PyCon US 2013 Audience”
[audience-link]: http://instagram.com/p/W4pwjGHu4G/
[guido]: https://www.tendenci.com/photos/1604/in/58/
[photo-guido]: https://www.tendenci.com/photos/1604/640×360/
[sponsors]: https://us.pycon.org/2013/sponsors/
[pycon-url]: https://us.pycon.org/2013/
[tesla]: https://www.tendenci.com/photos/1614/in/58/
[photo-tesla]: https://www.tendenci.com/photos/1614/640×360/
[glass]: https://www.google.com/glass/start/how-it-feels/
[group]: https://www.tendenci.com/photos/1599/in/58/
[photo-group]: https://www.tendenci.com/photos/1599/640×360/

Tendenci Open Source Donor Management Roadmap

Tendenci has come a long way since it was started in 2001. I didn’t have a choice back then so thus began (at the time – we are now open source) a proprietary system. But we work mostly with Associations and Non Profits. They/You (and I can attest first hand after volunteering with several nonprofits over the years) don’t want proprietary – you want OPEN SOURCE!

So what is our roadmap for Tendenci, now completely open source, for donor management?

I have to say we weren’t feeling the urgency on the donor management part until recently. Why? Because Blackbaud (Nasdaq BLKB) acquired Convio and removed the only viable option. And now they are shutting down Common Ground. Not cool. (Side bar: Word is Convio used to advertise “Common Ground, because we’re not Raiser’s Edge.” If that is true or not, it’s still funny and was always a comment that came up at NTEN or Techsoup meetings over the years.)

Tendenci is written in Django and Python and will remain open source. We are adding a basic GPL CRM with modifications for donor management first. More importantly we are integrating Tendenci with the Salesforce Foundation and the Non-Profit Starter pack through their open source connectors and well documented API.

The team at Tendenci is working feverishly to get full Tendenci-Salesforce integration done because we need it too!

We are prepared and qualified. We have a former employee who now works at Salesforce, we use Salesforce ourselves, and quite frankly they seem to care about the non-profit world. We at Schipul are “all in” as they say as are Tendenci powers the majority of our clients are non-profits.

What can you do now to get ready?

If you want to get ready to fully integrate your Tendenci site, hosted with us or self hosted with the open source community version, a good jumping off point would be to read up on the great work the Salesforce Foundation does for Non Profits. Sign up with the Foundation to get your free licenses even if you just want to play around with it.

I’ll try to keep everyone more up to speed on our roadmap, it’s been a crazy year. But make no mistake, we are building an open system that will reduce the costs of advocacy and non-profit associations and foundations by a factor of 10 compared to Raiser’s Edge. There is hope. (Programmer? – join us on github! http://github.com/tendenci/tendenci ) And in case you can’t tell, I’m excited about this!

Thanks to the programming giants who walked before us

Giants. Giants I tell you.

Yes, I’m excited about Tendenci going open source. But first – THANK YOU to the giants who walked before us to make this possible.

As a programmer, granted I haven’t been in the code much the last 5 years doing the whole “running the company thing”, but I haven’t forgotten how important it is to give credit where credit is due. We just pushed Tendenci 5.0 live on github yesterday. As far as I know, Tendenci is the only “open source CMS system built specifically for nonprofits” and I could add “written on the Django framework and Python.”

That is what makes open source so cool. As David Geilhufe told me today when we bumped into each other at NTEN, “welcome to the open source community. it took you a while but you got here.” David’s right.

Tendenci 5 was a complete rewrite and took over 3 years to complete.  I have said thanks to our programmers numerous times. But what giants’ shoulders did we stand on? Quite a few. Tendenci would not have been possible without the original committers on Django. So a RESPECTFUL tip of the hat to these trail blazers. #respect #thankyou

  1. Adrian Holovaty
  2. Simon Willison
  3. Jacob Kaplan-Moss
  4. Wilson Miner

And the list of brilliant committers goes on. Because it is a community. These people enabled us to give. I respect that.

To put it all together, Tendenci is a full web application. It is written on a framework called Django which is “the web framework for perfectionists with deadlines.” Django is written in a programming language called Python. Python was created by the amazing Guido van Rossum. I have never met Guido. But I know his brain is absolutely amazing and that our current business model would not be possible without Guido. Thank you Mr. Rossum. And thank you for everyone who contributes to the Python project.

We have a lot to learn still. And we are studying and learning as fast as we can. Any help is appreciated. But first and foremost, thank you to all of the programmers who walked before us and made our current path possible. ~Ed

 

 

 

PyCon 2011

This year Glen and I were asked to go to SXSWi. Thank you Schipul.

We turned it down for the opportunity to go to PyCon (the Python Conference).
Once again, thank you Schipul.

It was, in a word; amazing.

In it’s simplest form, Python is a programming language. It’s what we’re using to build our brand spankin’ new Tendenci 5 technology.

Python was not originally designed for web development. It’s capable of so much more, but we’ll get back to that later.

This year the conference was 8 days. March 9th-17th. The first 2 days focusing on training, 3 days on conferencing and the remaining days left for sprints.

Sprints are coding sessions: problems are given out and we use your mad skillz (z for emphasis) to solve what we can. Glen and I only attended from March 9th through the 13th. It was our first run and we wanted to get our feet wet. We’re hoping to get the full affect next year, but simply attending is epic.

Oh man, where to start.

We would wake up every morning around 7a and take the warp speed elevator down to the Ballroom where the conference was being held; convenient — oh yeah.

 

All rights reserved by kennethreitz
Hyatt Regency Elevator - Photo taken by Kenneth Reitz

The conference this year was made up of about 1400 Pythonistas. That’s what we call ourselves. I’m not making this up.

All rights reserved by kennethreitz
Pythonistas Await - Photo taken by Kenneth Reitz

Every day started with a nice healthy breakfast and mingle time. When we had training days we went straight to training.

Our Keynote was Hilary Mason, lead scientist at bit.ly. She’s a computer science professor with a background in machine learning and data mining. Bit.ly is a URL shortener. Learn more about URL shorteners.

We also heard from Rian Hunter. An Engineer for Dropbox. If you’re not using this, do it now. I’ve used Dropbox for over a year and it’s made my life so much easier.

Guido Van Rossum. He’s only the guy who CREATED the language. Also known as the Benevolent Dictator for Life (BDFL). I’m not joking. Google it.

We also heard from Threadless, Disqus, and OpenStack. Amazing companies all using Python in amazing ways.

The smaller sized sessions would start at about 10a.

Sessions lasted between 30 to 45 minutes with about 15 minutes to walk between rooms. It was all located in the Hyatt Regency in Atlanta, Georgia.

All rights reserved by kennethreitz
Alex Gaynor Excited - Photo taken by Kenneth Reitz

Then lunch. Unlike most conferences, the food arrangements where the best I’d ever seen. We’re talking white linen, gourmets meals, and waiters. We would also get in-between snacks like parfaits, mMmMmm yommi.

Somewhere between ’97 (~ the time that I started) and 2011 things matured. I remember getting excited about markup, styles and javascript. Then fainting at the idea of sprites, caching, indexing, and load-balancing. Only to find myself today hearing buzzwords like coroutines, configuration managers, event based programming, and continuous integration.

It’s not fair to call all of this stuff new age, because many of it has been around for some time. There’s a difference between hearing the jargon and seeing it in action. Let alone getting trained on it.

This conference has definitely opened my eyes to what I don’t know. The initial hit is intimidating, but like most scary things in life it quickly turned to interesting. Well aware that we’re more than capable of working and benefiting from these technologies.

For those of you want to see the sessions in action. You can find most of the PyCon videos at http://pycon.blip.tv/posts.

Overall we had exciting time and made some new nerd friends along the way.

Leaving PyCon 2011

Check out this Video recorded by Glen. Python along with Xbox Kinect being used to make eyeballs that follow you. Web development is only one of Python’s many powers.