Developers: ThinkUp's master branch is up-to-date

281 views
Skip to first unread message

Gina Trapani

unread,
Feb 3, 2015, 12:48:11 AM2/3/15
to thi...@googlegroups.com
Hi developers,

I have great news. The master branch of ThinkUp's repository (https://github.com/ThinkUpLLC/ThinkUp/commits/master) is now up-to-date with the code running on ThinkUp.com. This means the company and the open source community will no longer split our efforts across different branches; we'll all be working from the same starting point. Hooray!

What veteran ThinkUp developers should know: That starting point has undergone some serious changes. Over the course of 2014, as ThinkUp-the-company worked on building ThinkUp-the-service, we made several strategic choices. Our goal was to simplify the user experience and make as compelling a consumer product as possible. With a small team and limited time, we had to focus on the best parts of the app and make those great, instead of trying to upgrade everything. In other words, not everything made the cut.

Here are some of the biggest changes we made:

Focused the entire experience on the insights stream. In lieu of the dashboard, ThinkUp's stream of insights is the central, sole interface to the app. We designed these insights to work as "cards" in ThinkUp's web interface, as tweets, as browser notifications, and as mobile/wearable push notifications (someday). They also work very well bundled up into daily or weekly email digests.

Completely redesigned the insights stream. From new typography to a fantastic color palette to support for big, beautiful hero images, the insight stream is gorgeous and just as responsive and good-looking on every size screen.

Added dozens of new insights and reworked existing insights. ThinkUp's new insights sound like a friendly conversation you'd have chatting with a pal about your social networks, instead of a robot reciting statistics.

Focused on the core networks ThinkUp is smartest about. ThinkUp's core competencies are Twitter and Facebook, so we rewrote all of the insights specifically and only for those networks (so far). That means several networks that used to work with the old dashboard don't work with the new insights stream yet. For now, we've deprecated those network plugins from the core codebase and stowed them in separate repositories until they're ready to come back in (Foursquare, Google+, YouTube). We also deprecated the GeoEncoder plugin (due to changes in the Google Maps API) and Twitter Realtime plugin (due to lack of activity).

If you pull and test the master branch (and I hope you do), keep in mind:
  • ThinkUp no longer runs on PHP 5.3. The PHP Group "end-of-life"d version 5.3 in August of 2014. Therefore, ThinkUp is no longer compatible with PHP 5.3.
  • Insights from a past beta will break. If you were running a past 2.0 beta, your existing insights will break the stream. After you upgrade to the new code and run your database migrations but before you run the crawler, TRUNCATE your tu_insights table to delete your old insights and start fresh.
  • Instagram is coming. The relatively new Instagram plugin is in active development. Even though it is rough around the edges, it is included in the master branch. (Interested in helping get it production-ready? Get in touch.)
  • There will be bugs. All these code changes have been tested in our hosted environment, but not as much for install-yourself setups. Let's work together to resolve these bugs. Report them as you find them either here on the mailing list or in the issue tracker on GitHub.
It's been almost a year since the last install-yourself user release, the longest time in ThinkUp's history. But this one will be worth the wait. I hope to package up the master branch into a user release soon - as soon as some of you have had time to test and catch the more important bugs. (Especially around areas that can brick the app, like password reset.)

As always, thanks for your contributions to, patience with, and interest in ThinkUp's codebase. If you've got questions, comments, or bug reports, don't hesitate - please post 'em here.

Onward,
Gina

P.S. We've got a couple new developer tools that make working with ThinkUp's codebase and building insights easier. More on those in a separate post, soon.


--
Gina Trapani
ThinkUp
http://thinkup.com

dosch

unread,
Feb 3, 2015, 5:47:50 AM2/3/15
to thi...@googlegroups.com, gi...@thinkup.com
Awesome! 
Congrats on this achievement. I must admit I often thought you had forgotten entirely about us self-hosters. Glad I was wrong!

Is there documentation on how to upgrade an existing Thinkup installation? Or should I just start from scratch?

dosch

Gina Trapani

unread,
Feb 3, 2015, 9:20:16 AM2/3/15
to thi...@googlegroups.com

On Tue, Feb 3, 2015 at 5:47 AM, dosch <do...@greenhost.nl> wrote:
Is there documentation on how to upgrade an existing Thinkup installation? Or should I just start from scratch?


Yes! Here is the documentation: https://www.thinkup.com/docs/install/upgrade.html

If you're running from source via git, do a git pull, then php upgrade.php --with-new-sql as per the docs.

If you're running from a user release, wait until we release the new user package in the next few weeks.

James Gallagher

unread,
Feb 3, 2015, 9:32:14 AM2/3/15
to thi...@googlegroups.com

On Tue, Feb 3, 2015 at 5:47 AM, Gina Trapani <gi...@thinkup.com> wrote:
Hi developers,

I have great news. The master branch of ThinkUp's repository (https://github.com/ThinkUpLLC/ThinkUp/commits/master) is now up-to-date with the code running on ThinkUp.com. This means the company and the open source community will no longer split our efforts across different branches; we'll all be working from the same starting point. Hooray!

What veteran ThinkUp developers should know: That starting point has undergone some serious changes. Over the course of 2014, as ThinkUp-the-company worked on building ThinkUp-the-service, we made several strategic choices. Our goal was to simplify the user experience and make as compelling a consumer product as possible. With a small team and limited time, we had to focus on the best parts of the app and make those great, instead of trying to upgrade everything. In other words, not everything made the cut.

Does the testing framework remain the same? I'm spending a lot of time getting my local environment right due to failing tests (not helped by forgetting I was running MariaDB 10.x as my MySQL alternative). It's a worthwhile learning experience but if there's a large change I might put off some of that learning :)

Congratulations on this btw. It's brilliant. Can't wait to try it out on an environment myself.

James

Message has been deleted

dosch

unread,
Feb 3, 2015, 10:39:01 AM2/3/15
to thi...@googlegroups.com, gi...@thinkup.com
Hey Gina,

Thnx! I went onward and did a fresh installation. but I get some errors. I set debug to TRUE in the config file and am now presented with the following error when trying to login:

Database error! ThinkUp could not execute the following query: INSERT INTO tu_cookies (owner_email, cookie) VALUES (:email, :cookie) Details: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenlabs_nl_stats.tu_cookies' doesn't exist






Op dinsdag 3 februari 2015 15:20:16 UTC+1 schreef Gina Trapani:

Gina Trapani

unread,
Feb 3, 2015, 10:46:30 AM2/3/15
to thi...@googlegroups.com
Hi there,

On Tue, Feb 3, 2015 at 10:39 AM, dosch <do...@greenhost.nl> wrote:
Database error! ThinkUp could not execute the following query: INSERT INTO tu_cookies (owner_email, cookie) VALUES (:email, :cookie) Details: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenlabs_nl_stats.tu_cookies' doesn't exist

Sounds like you didn't run the latest database migrations. Here's how:

Gina Trapani

unread,
Feb 3, 2015, 10:54:53 AM2/3/15
to thi...@googlegroups.com

On Tue, Feb 3, 2015 at 9:32 AM, James Gallagher <ja...@jamesgallagher.ie> wrote:
Does the testing framework remain the same? I'm spending a lot of time getting my local environment right due to failing tests

I'm glad you asked, James. The testing framework is unchanged, but we did just publish a virtual machine that comes fully configured with passing tests, which means you can spend less time debugging tests and more time writing code. :)

More on that:

dosch

unread,
Feb 3, 2015, 11:05:24 AM2/3/15
to thi...@googlegroups.com, gi...@thinkup.com
Hey Gina, thnx for your prompt response.

I ran php upgrade.php in the cli directory as written on that page and got: Your ThinkUp database structure is up to date.

But when reopening the page and trying to login i get:

Database error! ThinkUp could not execute the following query: INSERT INTO tu_cookies (owner_email, cookie) VALUES (:email, :cookie) Details: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'greenlabs_nl_twttr.tu_cookies' doesn't exist




Op dinsdag 3 februari 2015 16:46:30 UTC+1 schreef Gina Trapani:

dosch

unread,
Feb 3, 2015, 11:20:14 AM2/3/15
to thi...@googlegroups.com, gi...@thinkup.com
ah yeah, and this one: hope it helps you as well...

                                           Database error! ThinkUp could not execute the following query: SELECT id, full_name, email, is_admin, is_activated, last_login, email_notification_frequency, is_free_trial, joined, membership_level FROM tu_owners ORDER BY last_login DESC; Details: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'is_free_trial' in 'field list'                                    


Gina Trapani

unread,
Feb 3, 2015, 11:22:37 AM2/3/15
to thi...@googlegroups.com

On Tue, Feb 3, 2015 at 11:20 AM, dosch <do...@greenhost.nl> wrote:
ah yeah, and this one: hope it helps you as well...

                                           Database error!

Huh, strange! I'm not sure what's going wrong here, sorry about that. Maybe try the new virtual machine?

Philip Durbin

unread,
Feb 3, 2015, 6:36:07 PM2/3/15
to thi...@googlegroups.com
You have an excellent reason to drop support for PHP 5.3, but a few months ago I was at an "indieweb" event* and the developer of Known responded immediately to feedback that many web hosts still don't support PHP 5.4 and made the effort (during the event) to make his app work on PHP 5.3: https://twitter.com/kevinmarks/status/521416439530782720

Maybe people downloading ThinkUp won't find a lack of PHP 5.3 support to be a roadblock but I just thought I'd mention it. Keep up the good work!

Phil

* http://indiewebcamp.com/2014/Cambridge

--
-- You received this message because you are subscribed to the Google
Groups ThinkUp group.
http://groups.google.com/group/thinkupapp?hl=en
 
Find out more about ThinkUp:
http://thinkupapp.com
---
You received this message because you are subscribed to the Google Groups "ThinkUp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to thinkup+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Steve Wooding

unread,
Feb 16, 2015, 8:10:46 AM2/16/15
to thi...@googlegroups.com, gi...@thinkup.com
Great news that another self install release is coming. I had just got curious and started installing the master branch, learning some MySQL along the way.

Cheers,

Steve.

Luke Burns

unread,
Mar 30, 2015, 3:16:17 PM3/30/15
to thi...@googlegroups.com, gi...@thinkup.com
Any update on the self install? I've had troubles with the database migration and am excited for the full release.

Gina Trapani

unread,
Apr 3, 2015, 11:59:40 AM4/3/15
to thi...@googlegroups.com
Hi all -

On Mon, Mar 30, 2015 at 3:16 PM, Luke Burns <elemb...@gmail.com> wrote:
> Any update on the self install?

Sorry no updates on the user release. Frankly there hasn't been that
much interest. My main concern right now is that I think the Reset
password functionality might not work, which is a blocker to release,
as it could permanently lock users out of their installation.

Any developers available to help out?

James Bell

unread,
Apr 7, 2015, 6:58:23 PM4/7/15
to thi...@googlegroups.com, gi...@thinkup.com
Hi Gina,


My main concern right now is that I think the Reset password functionality might not work, which is a blocker to release, as it could permanently lock users out of their installation.

Any developers available to help out?

I've spent this evening trying to track this down, since I'm keen for a beta release too :->. After much confusion in debugging, it looks like this is actually a simple thing to fix. The value of the hidden 'Submit' field on the password reset page was changed in the big redesign: https://github.com/ThinkUpLLC/ThinkUp/commit/6cfbf92bb160a4c4a6a0f40e3af2146a0df70da5 and then again later on. It's now sending the string "Send" rather than "Send Reset" (https://github.com/ThinkUpLLC/ThinkUp/blob/4f8ed6baaa8802b0f2c3e5ae2424ab8abe040cd1/webapp/_lib/view/session.forgot.tpl#L19) and so the password reset is never being triggered: https://github.com/ThinkUpLLC/ThinkUp/blob/4f8ed6baaa8802b0f2c3e5ae2424ab8abe040cd1/webapp/_lib/controller/class.ForgotPasswordController.php#L39

I can work up an issue and fix for this tomorrow evening my time, either by changing the string being sent or the string expected by the controller. However, you might be able to churn out and commit a fix faster than me tomorrow. If I don't see a commit in master, I'll create a pull request.

Hope that helps,

James

Gina Trapani

unread,
Apr 8, 2015, 9:42:56 AM4/8/15
to thi...@googlegroups.com
Great, thanks James!
> --
> -- You received this message because you are subscribed to the Google
> Groups ThinkUp group.
> http://groups.google.com/group/thinkup?hl=en
>
> Start your free ThinkUp trial now:
> https://thinkup.com
> ---
> You received this message because you are subscribed to the Google Groups
> "ThinkUp" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to thinkup+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



Steve Wooding

unread,
Apr 8, 2015, 12:14:06 PM4/8/15
to thi...@googlegroups.com, gi...@thinkup.com
That is indeed great news James. I'm still interested in a new release, mainly as a nice stable point to use and may be to work from.

Cheers,

Steve.

Luke Burns

unread,
May 15, 2015, 8:00:59 PM5/15/15
to thi...@googlegroups.com, gi...@thinkup.com
Any new news on this? Thanks so much for everything you guys are doing!

James Bell

unread,
May 20, 2015, 5:36:39 PM5/20/15
to thi...@googlegroups.com
Hi Luke,

In terms of news, I have a wee bit: Gina merged my fix into the code
for the password reset a couple of days ago, so we're getting there.
If you were to download the latest code from Github and host it, you
would now be able to request a password reset on a hosted instance.

That's a positive move :->

James

On Sat, May 16, 2015 at 1:00 AM, Luke Burns <elemb...@gmail.com> wrote:
> Any new news on this? Thanks so much for everything you guys are doing!
>
> --
> -- You received this message because you are subscribed to the Google
> Groups ThinkUp group.
> http://groups.google.com/group/thinkup?hl=en
>
> Start your free ThinkUp trial now:
> https://thinkup.com
> ---
> You received this message because you are subscribed to the Google Groups
> "ThinkUp" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to thinkup+u...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Make a man a fire and he'll be warm for the night.
Set a man on fire and he'll be warm for the rest of his life.

Gina Trapani

unread,
May 22, 2015, 10:37:39 AM5/22/15
to thi...@googlegroups.com
On Wed, May 20, 2015 at 5:36 PM, James Bell <james...@gmail.com> wrote:
> Gina merged my fix into the code
> for the password reset a couple of days ago, so we're getting there.
> If you were to download the latest code from Github and host it, you
> would now be able to request a password reset on a hosted instance.

Yes! thanks so much, James, for fixing that. There was another
significant blocker bug that prevented admins from changing their
settings and saving those changes; James I merged your fix for that as
well.

The upshot is: this is going well, but it's going slowly. Before I
issue an "over-the-air" update release I'd like to do more testing and
hear from people running the current code that they were able to
install ThinkUp, connect accounts, change their settings, get
insights, run the crawler, etc.

Again this is a massive update that will break existing insights, stop
crawling several networks (Foursquare, Google+, etc), and introduce
several sections of the app that aren't laid out/designed very well,
so I'm taking it slow until I hear from the community everyone's ready
for that.

Post here if you're running the current code and how it's gone so far.

Gina



--
http://ginatrapani.org

Devin Reams

unread,
May 30, 2015, 9:10:55 AM5/30/15
to thi...@googlegroups.com
Hi Gina,

Post here if you're running the current code and how it's gone so far. 

I just finished freshly installing ThinkUp from source this morning and everything worked fine.

- created config with no issue
- database migrations worked
- Facebook, Twitter, Instagram connected
- sources crawled and initial insights populated

Great work! I'm excited to have this up and running again (had it running years ago). So far so good. :)

The only snag I hit was not having mail on my server (to activate my account). I saw this was a requirement in the docs and already had Mandrill configured on my other apps (like WordPress) so figured I would be ok. Though, during installation I think I got myself into a bit of a loop where I finished the installation, but had no idea how I could (re) request the activation email after setting my Mandrill API key in the config file itself:

- Going back to install/ wasn't an option since the config file already existed (was done through Step 3)
- Logging in didn't work because I needed to activate my account first.
- Requesting my password didn't work because I needed to activate my account first.

Ultimately I went through my server logs and found the outbound email with the link and accessed it to activate my account. Then 'forgot' my password (to test email delivery worked from Mandrill.. it did).

I took a quick look at the Installer controller and advanced settings during installation.. I don't think there's a way to set the Mandrill API key up front is there? I suppose I could've copy/pasted the config after Step 2 (at 3) and set the API key then? Though, I'm not sure how I would've completed the installation then (wouldn't it detect the config.inc.php already existed and not allow me to send a POST so I wouldn't actually get to the point of sending the activation?).

Assuming I haven't overlooked something (very likely I did), and this does cause a dead end for some folks, would it make sense to add the config for the API key to the "advanced-setup" template at step2 along with the controller when writing the file? If so, I may be able to take a pass at that PR (though, IANAD ;)).

Thanks again for sharing an awesome open source project!

-- Devin (de...@reams.me)

Mike Flip

unread,
Sep 12, 2015, 11:17:23 AM9/12/15
to ThinkUp, gi...@thinkup.com
Hi, I have found a base script clone from www.owloo.com analytic(facebook, twitter, instagram) site, this base script get all data via curl for what I see, maybe can help for something in thinkup..  this is the link: https://github.com/newbacknew/owloo.com

the important part is in "wservice" folder from the backups folders.

Regards,
Reply all
Reply to author
Forward
0 new messages