Website information update system? - joomla

I have developed a student portal website for my college using Joomla 2.5 and now I want some mechanism to regularly update information on it.
My problem is that there are many societies in my college that organize events frequently and it is next to impossible to get their information on time to be updated on the site.
Is there some way possible by which those people can independently upload their events on the site without the administrator's interference and also without messing up with other facilities of the back-end?

The whole point of a CMS is to make things like this easier. As #emmanuel points out this is why there are extensions, you should use a calendaring extension.
In my experience one of the simplest things you can do if most people on your campus have Google accounts is to create a shared Google calendar that you give create access to for a representative of each club. Then embed that calendar on your site with one of the extensions for that. That way you don't have to deal with accounts on your site at all. There are a lot of ways to make it more complicated (like let each club have their own calendar and then you make a master calendar) but I think that could end up being more of a headache.
The biggest problem with calendars is getting people to list their events, because it is work for them. Sites with big empty calendars don't look very good. So you may want to make sure you have some events by finding out if there are some repeating events that you can set up.

You could try jevents component: http://www.jevents.net/
You could grant permissions to your sub admin users and add / edit / delete their events from the front end without giving them access to the backend of your site.

Related

Mix Panel API web segmentation and personalisation

Hi I am interested in using Mix Panel on a web site to track customers events. I would like to know if there is any way to use the api to personalise the web site per customer, similar to segmentation for emails.
I would like to query the api for a singular customer asking whether they have achieved several events.
For example something like
If customer has clicked out and last visit greater than a month ago display a banner advert.
Mixpanel does not seem like a correct tool for the job you describe here.
While theoretically this might be possible (via Mixpanel's HTTP API), this will create unnecessary architectural complexity and add extra latency. If you need to customize your web site per user, store any user state in a database like MySQL or PostgreSQL. This will be both faster and easier.

Outlook/Exchange RoomFinder (w/ Lex)

I'm an intern and I've been tasked with creating a RoomFinder API for Outlook that works with Amazon's Lex/Lambda to find a location and schedule meetings given a list of participants. The API is supposed to be able to pull the calendars from Outlook for the individual participants, find a time that works for all of them and a location with a proper seating capacity, and then schedule the meeting+add it to the calendars of those involved. I have a pretty good understanding of how Lex works and have created my own functions using Lambda before but I don't even know where to begin when it comes to pulling the calendars from Outlook for the participants.
I have been trying to get an idea of how to go about this for a few days now and found some information on Outlook's REST API which it sounds like can be used to gather some of the needed information but I'm not sure how to actually begin doing that. Here are links to a few of those pages:
https://msdn.microsoft.com/en-us/office/office365/api/use-outlook-rest-api#RegAuthConverged
https://msdn.microsoft.com/en-us/library/office/dn643730(v=exchg.150).aspx
I also managed to find a few pages on GitHub of similar, more basic scripts using Python to acquire things like Room Availability from Outlook but I couldn't get any of those to work. I don't have enough reputation to post more links but if seeing those would help I can maybe comment them later.
I'm really looking for any advice on where to begin or tips on how to get this done. I think I may be on the right track with the REST API idea but I have no clue how to actually use it or set it up.
Any help is appreciated, thanks.
We are just now rolling out a new REST API to list the roomsIDs(findrooms). You can use this in conjunction with the findmeetingtimes API to schedule meetings. Please take a look at the REST API docs here(remember to choose beta in the top-right)
https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations#GetMeetingRooms

reCaptcha - "send alerts to owners" - who?

I'm trying to get reCaptcha working on my website.
I found out I have to register my domain for this first, since I already have a google account this is quite easy, but the very last checkbox made me think:
How does google determine who the owners are?
And what kind of alerts will those be? E-Mails?
I'm a bit worried that some random person will get an E-Mail one day not knowing what to do with it since I'm not the only one working on that domain. And if they just mean my google account I'm registering this with...that doesn't make sense because they should've written "you" instead of owners then. - although your site is making this even more confusing. :D
I'm aware this is not directly a programming question.
I'm open for suggestions for a better Stack-exchange platform to ask this question at, there are too many - I couldn't find any other that seem to fit.
In the reCAPTCHA admin settings, there is a textbox where you can enter a list of email addresses for owners. This will grant them access to manage the reCAPTCHA settings and send them alerts, if enabled.

Google my business - API to update opening hours of places?

I would like to update "Opening hours" for all stores of a company in Google my business, through an automated API (a REST service for example).
My customer has hundreds of stores, and currently this is done manually.
I've read there is NO automated way to do this, a user needs to fill manually every opening hour in the google my business portal.
I can't believe that, and I'm wondering how big companies with a lot of stores take care of that problem, especially for "exceptional closings", etc.
I have already search for a long, and didn't found anything.
The only ability supplied by google is to upload a list of stores, through a file, and this file doesn't contain any information regarding opening hours (am I wrong ?).
I would like to be able to update store list AND opening hours regularly, through an API (My Business, or Places).
Does google propose a such API, or do you have any suggestion to handle this concern from a programmatical point of view ?
Thank you
There was no Google API for My Business at the time when I posted my question, but meanwhile Google has released it and also provides samples for many languages : https://developers.google.com/my-business/
Thanks to eton_ceb for the notification.

Creative account confirmation without the use of emails

I employ email validation to grant people full use of the site. The trouble is, sometimes these emails get spam-boxed, or never arrive, so I get many people complaining that they cannot confirm their account.
Was wondering if there are other (creative) ways to offer secondary validation option to users who didnt get the validation. Its a free site, so I dont want to ask for credit cards, or mobile #s.
The purpose of this is to make abuse of the site less rampant, since we ban a lot of people, and they come back with dozens of accounts to prove something. Spam/robot registrations are not an issue (right now).
What we started doing recently was letting members send us an email to a special email address. We give them a hash code, and all they have to do is put that code somewhere in the subject or the body of the email, and send it to us. We have a cron job running in the background that gets those emails, parses the subject/body looking for the hash, and if found activates the account.
It doesn't work 100%, because some ISPs also block their users from sending us emails, but no solution would work 100%.
Based on your comment in Rob S.' answer, it sounds more like you want to identify situations where the same browser is creating multiple accounts rather than confirm that what's at the other end is human.
Dropping a cookie in the user's browser can be very helpful in finding the repeat offenders, especially those not savvy enough to clear their cookies or visit while in private mode. Some forum software like vBulletin does this and can notify the administrators when it happens.
Another alternative might be browser fingerprinting, which is where you use a bunch of the information provided in the HTTP exchange. An example of this is the EFF's Panopticlick.
Just got a "fun" new way to annoy your banned people a bit.
once you ban them (I guess you close the account and ban the IP). Then log their browser agent string with their IP and screen resolution.
If there is a match when showing the website to them. Just remove the registration link/page. Dont even show the link to the page, as it might piss them off. Dont explain why its gone. Just keep it gone, eg. for 3 weeks or 2 month.
That way they dont have a cookie on the browser to remove, they cant find the registration so they cant know WHY they cant make a new account.
Secondly, if on a school or something (dont know how old they are), the other existing users will still be able to login to their accounts as its ONLY registration that has been removed. Not login.
How about that? is that clever enough?
Basically what you're looking to do is separate the humans from the robots. There are two primary ways to do this:
1) Require users signing up to check boxes and type a word spelled out in an image captcha. These are usually very difficult tasks for a computer to complete.
2) Allow users to sign-up using their account from a different site such as OpenID or Google assuming that anyone who has one of these accounts is a real person.
I recommend combining both methodologies.
Good luck!
There are unlimited ways of doing this.
You mention mobiles and free, but if you have access to a SMS-gateway, you can receive SMS-messages for free (but might need to pay some sort of monthly subscription though). But show a dynamically generated code the the current user. Store this code in "his session" and do an ajax check each 15-30 sec to see if the sms-code was received by the gateway. If so, accept the account and let them registrate. This would requiere the gateway + your users to have a personal mobile. Enough about mobiles...
Make a question or more that is randomly generated. Use pictures/tokens instad of tekst so that the user has to press the correct image in correct order to perform some sort of answer.
Could be like a jackpot-machine with 3 cells where the images are randomly placed and generated inside dynamic named files, so that robots cant analyse the names to guess the right answer.
You mention e-mails to be easy to spoof. Yes indeed, but what if the emails would come lets say each week containing some sort of "important info" that the user would need to read/use on the website to continue. Once the account hasnt been used for a certain time (lets say 3 month, kill it)... and you could also say to have a "free account" you must accept that we send you 1 mail pr. month that you need to activate within 1 week. If you dont, we are free to close/delete your account details.
... and many more
I dont know what you want to "protect", but if its for gaming, then dont let the gamers have "extra levels/weapons" until they have provided a certain amount of these codes OR paid for access OR validated by phone or something.
Thats my first 3 ideas, I think the possibilities are unlimited. The main issue here is, make it too hard to validate yourself and the users go away unless your site is REALLY worth it.
You might think of the much used "Free forever (but limited)" approach way of selling stuff these days on the net. The users can make as many accounts they want, but the licens is still only "single/small/basic". Once you get more experienced, you get more features or you might just upgrade by paying... at this time you know WHO is real and WHO isnt.
My point is, dont over protect. Just design with the mind of spammers will always find a way in, no matter how good you protect it. Those giving up first are your real users/customers.
I would rather spend time on making this product/website/game so great that EVERYONE wants to pay for an account after a while.
Lastly from real life... there are COMPANIES in China with kids employeed to play World of Warcraft with one purpose. Harvest virtual gold and sell it on Ebay to other western players who pays with real dollars. Its not allowed according to the gamelicens and their accounts/gameslicenses are constantly getting banned. But it gives them so much income so they have calculated with this and they just buy new licences and continue.
So if EVEN Blizard(WoW creators)
doesnt have enough power/money to keep
fakes out of the game, how do you
expect to do much better? :o)
Usefull answer?

Resources