PHP Development (LAMP environment) - Confluence or GitHub? - php

I have recently been put in charge of our PHP Web Developers (I'm a programmer in general of over 30 years, currently the Salesforce Administrator and sometimes Developer in Apex). My team members are suggesting both GitHub and Confluence for page versioning, check-out control, being able to review the multiple changes any one of several users could make to any given file before they deploy to the live servers, etc.
I'm curious what would be the better choice for this? Based solely on reputation and what I'm reading online in general, I'd tend toward GitHub.
The Development server we're getting ready to setup will be AT the webhost (remote to us), local to the live servers.
Thanks for any insights. ;-)

Confluence is not the tool for what you're attempting to do. Confluence is a great choice for intranet forums or wikis, but it isn't the best for keeping track of updated files. While it could alert interested parties every time a new file is attached to certain pages, or every time a page itself is updated, it isn't really intended for your purposes as described in the question.
Here's a page describing Confluence's usefulness: http://www.atlassian.com/software/confluence/overview/team-collaboration-software
Again, I'd emphasize that it's really great for allowing non-programmers to generate wiki-content within groups or for an entire company, but I wouldn't recommend it for your purposes.

Related

Azure DevOps Custom Page for Requesting / Tracking Features or Bugs

I'm new to using AzureDevOps to handle my team's development needs. Currently I'm faced with the question of how are we going to gather the requirements, change requests, suggestions or bug reports from the end users of our products, that are either deployed or under development.
My idea is to have a simple page that is linked with our Azure DevOps account, which can simply retrieve the list of projects, to help the end user set the category, and then simply email the request to one of the developers to be handled manually. Our end users are limited so this is not an issue of being flooded.
I've search google and others for a template / working example of such page to help me build it quicker, as I'm also very limited on time.
I'm sure someone has done this before. It's just a simple request page connected to DevOps.
Asking about Azure DevOps hosted on Microsoft cloud, with 5 active developer accounts working on 5 different projects. We also use Sharepoint and AzureAD for the company's internal use, and would like to limit the requests to only come from company employees. I tried looking this up, but couldn't find anything "ready made".
We had a similar problem where we wanted to let people access parts of ADO who dont have an Azure AD account. We need this because we are a large corporation with slow and complicated Active Directory processes...
I asked on server fault and found a little service called TicketStudio in the Marketplace that works good for us: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/aveyaramrsoftwaregbr1612902674653.ticket_studio?tab=Overview

local website connect to wordpress online

Long time reader first time asker, if my question is silly or missing info or miss titled lemme know and I'll fix it.
Okay, so I'm working at a community center for the next 8 weeks as a tech help assistant, I'm also a CS student.
They have a web application that is quite old running locally on an iis server (version 7). It's for keeping track of their members, events and registration It's written in asp.net and is using and Access database. They also have a wordpress website (php, mysql, apache) for advertising events and sharing information about what's going on in the community.
What they would like is to link their wordpress to the local application. I've been racking my brain about if this is even possible or not. I'm leaning towards not possible because the local application and shouldn't be outward facing as it has sensitive data on it and was not designed to be secure in the face of would-be hackers.
The only solution that I could think of is create a "walled off" section of the computer hosting the local application. Also an outward facing port that accepts incoming data from the wordpress site that is then passed onto the access database as an update (increasing a counter for the amount of people registered to a program). It needs to be possible for a file to have some kind of global (from the web) executable permissions and have all the other files on the localhost computer locked down from this global permission.
We would also need to be able to get 2 boolean values from the local app for the wordpress site. This is for if the program/camp/whatever is full and if the update was unsuccessful in the event of something going wrong. I'm just not sure if something like that is even possible and where to start with that. The most important thing is that it's secure.
If a secure API could work I have time to create something like that.
I don't have enough time to upgrade their local system to make it safe enough to be online because I have to run tech help sessions. I know that is the most realistic option.
Thanks very much
What they would like is to link their wordpress to the local
application. I've been racking my brain about if this is even possible
or not. I'm leaning towards not possible because the local application
and shouldn't be outward facing as it has sensitive data on it and was
not designed to be secure in the face of would-be hackers.
I think you've hit the nail on the head right there. It looks like you have a decent understanding of the situation but not of their internal app. The fact is that it's hard to scope something like this without getting in and getting details. Step 1 would be to see if you can talk to whoever it is that built the thing and get their feedback. It might be secure enough to expose some sort of connection.
Really there's not enough information here to determine a good answer, and you should be wary of anyone that says it's secure. There are a ton of factors that go into web security.
You might be able to throw together a basic RESTful API with authentication to send only to the wordpress site's IP. But if it's sharing the IP that information can be consumed by third parties so you'll have to decide if that is an okay risk.
I wouldn't try and expose everything and partition with apache. A basic RESTful API with authentication would be best at first glance IMO. That way you only show consumable data and limit what can be used.

Adding Active Directory to a web site

I've been working on a site (for my company) to allow selected data center users to remotely access a scheduling calendar and some pages offering information on the various servers they are coming to the site to access--on a separate site. Initially, I was under the impression that I'd be creating a database and registration page to add, authorize or track end users. My initial project coding has been a combination of HTML, PHP, CSS, and MySQL and Apache for the database side. Now I've been told that we will be using AD, tied into our company's official Active Directory, so that users can use the same IDs and passwords that they've already had approved by our company.
My question is (hopefully) simple. Is there a certain web programming language that I should use in creating the pages that works better with Active Directory than others?
If you are comfortable with PHP, you should be able to achieve the above no problem!
The beauty of PHP is that someone somewhere along the line had the same problem as you so chances are, there's an established solution already.
adLdap seems to be a good solution, a library that already does most of the hard work for you and all you'd need to do would be integrate it into your script!
See: http://adldap.sourceforge.net/wiki/doku.php?id=documentation_user_functions
Hopefully this can make it a little easier for you so you can concentrate on the other things like the actual functionality of the website itself.

How to create a mobile version of a video hosting site

I've been googling for about 2 month on how to create a mobile website and found many results which work great if you have a blog or anything like that. But I have some sort of a video hosting site and i need to allow users to watch, upload and rate videos. i have jw player player and the script is php javascript
when I say mobile i mean everything from smartphone to android, everything
Any help or a link for a tutorial would be highly appreciated
EDIT
#Bizorke I'm not asking you to write me a book, i want an answer like this
That guy answered a huge question with one small paragraph and some tutorials that's it and I loved his answer
and i would read any book if you suggest one, because i cannot find a good one
Edited in response to comments
I can try giving you a starting point for your project. If you want to know how this can be done, stop searching for an answer online and start looking for a very detailed book on mobile web development. There are a lot of things to learn, especially if you are trying to build a cross-platform mobile website. There are lots of books out there, you'll need to find some that talk about cross-platform mobile web development. A lot of experimentation will be required.
For the actual video sharing part I would just develop the site to work exactly the same as such a website would work for a PC. Mobile devices are becoming increasingly similar to PCs in terms of power and browsing experience, so you might just be able to do this part with minimal hassle if you're lucky. After you've completed the site and it works on a PC, just go back and test it with a whole bunch of different types of mobile devices to see which phones support it and which don't, and go from there by customizing the website to work with different specific types of devices.
Good luck!
Additional Information
I have done some mobile app dev before but never a mobile website, so can't offer any good suggestions for books (google books has a bunch listed but you'll have to look at the descriptions to find a good one that suits your needs and interests).
Also, have you considered making a mobile app to accomplish what you are trying to do? You could build an app for each type of smartphone, then you won't have to worry about platform browser compatibility issues.

How to manage gradual deployment of a web app

I am developing a web app and want to be able to stagger the deployment of new builds and versions across our users. For example...
Deploy new version of app and migrate a couple of test accounts to it for testing
When testing is happy, move say 5% of customers to the new version and monitor support problems and server load problems with those customers.
if it is still going ok, gradually move more and more customers over to the new version until everyone is updated.
Fogbugz and Kiln from FogCreek are using a deployment system like this. You can read about it here...
The problem I am trying to solve at the moment is that different accounts on the system can be using different versions of the code.
What is a good way of managing and controlling this? Can Apache do some of the heavy lifting here? I want to avoid too much overhead, or weird loader scripts to work out where to send the request. How do web apps like Fogbugz on Demand deal with the problem? Is there a recognised design pattern for this?
The users are identified via a domain name (eg user1.example.com, user-bob.example.com, etc).
There are easily hundreds of ways to accomplish this; so let's think at a high level without talking specifics of the architecture:
Large public sites like Yahoo and MSN handle design changes with random samples and set cookies with long timeouts to identify who should be receiving the new design.
For paid upgrades and beta invites you should be able to identify and tag which customer accounts will receive the new 'design' or feature set upon their login. For instance, the new updates to Digg v4 were for logged-in and opted-in customers only. Facebook had a similar rollout across their system with the new profile pages.
You may decide to pay for beta testers. You can easily use Amazon's Mechanical Turk or sites like custfeedback.com
The specifics will be up to you and your architecture. Hopefully you've written your software with this functionality in mind; and hopefully you've provided easy ways to provide both application and database upgrades easily at deploy time. Magento (an open-source e-commerce platform) handles this very well. Each module is built in a form of a plugin and each of its components keep record of their own version. Database upgrades are performed on the fly with install and upgrade scripts based on the new/future version retained in configuration files.
You may choose to move your beta testers to a new domain or database that has more detailed logging and realtime analysis than your production machine. This was the method mentioned in the Kiln blog post - they referenced the site http://martinfowler.com/bliki/BlueGreenDeployment.html - eventually, however you accomplish the segregation of your accounts and traffic, you eventually have to consolidate. You'll need to perform your migration in a maintenance window most likely and get everyone up to the same version.
Best of luck!

Categories