Update Local JSON Files after React App Build - json

I have a rather complicated question, therefore I want to give a small preface of what I want to accomplish, but feel free to Skip to the question part, if this is to long for you. :)
PREFACE:
I currently study computer science as my second bachelor and work part time for a company that is in the automotive industry and we are engineering electric components for an OEM. We use Citrix for our daily business. I got assigned by our project manager to implement a software which visualizes and tracks our KPI, like open tickets etc.. Simultaneously it should work a bit like a project management tool, add comments etc.
Due to the fact that we work for the OEM and use Citrix I can't build any Software that needs to be "installed" in the IT eco system of the OEM. Therefore I decided to "mis-use" web-technologies, such as React.
QUESTION PART:
I currently develop a React App together with some other libraries like Chart.js.
My plan is to run the npm build script and then take the whole build directory and put it up on our companies network drives from which one can open the index.html and therefore use the tool.
Concurrency should not be an issue since only a handful of people, mainly our CEO will use this tool. I have done this before with static "websites" and there obviously everything works just fine.
The issue now is, that I get updated JSON files in which the project KPIs are saved every month.
My goal initially was to just update the JSON files of my built React Website and consume that data. But this doesn't work.
So is there any way, that I setup up the whole thing, so that I have some separate directory like data in my build directory and that the React App reads and writes to these JSONs after the React App is already built? Can it help to built an Electron App around that and should this then still work at our OEM customer?
I hope this was not too confusing. Thanks for everybody who took their time! have a nice day :)

Related

How to organize Web Development using Git

Web Developers!
How do you go about organizing your Github projects for your front-end and back-end?
For example, I have a python script that generates a JSON file that the front end JavaScript consumes to generate data on the pages.
Would you create one repository with two directories labeled front-end and back-end?
Or would you make two different repositories?
I'm interested in what developers do in the wild. Because up until now I found myself having a complete clone of my website in a directory on my desktop PC, and just pushing individual files via SFTP from there.
I'm getting to the point where I have enough *.old files that I want to implement version control so I can view much older states of code with Metadata like date and user that edited it.
The answer is yes. Make two different github projects.
Just Like Michael W has stated, "[...] this is highly opinionated". What I find to be the most common approach is to implement a single github project when still in development and especially when you're developing on your own. This is useful because you don't have to switch up between repositories and/or branches, which saves time.
Another common approach is to split them up. However this approach is only possible when both projects can run independent from one and other. In your case it's important to split the project logically. If the python project only generates JSON files and places them on a server location, then I would place that into it's own github project, because the main purpose is to generate files, so the python application can run on a server seperate from the frontend. If the webapp only consumes the JSON files through maybe a rest call or through a connection to a FTP, then also that can be placed within it's own project.

Stuck at the process to complete a Basic Web Development Project

Background:
I've been given a project to make an small employee portal for an organization. This is a Full Stack Web Development project, since the only thing provided to me are excel worksheets as the organization's data. It has to be run within the organization, with multiple users using it at the same time.
Project Deadline: 28th June ~ 10 days
Problem:
I've never made a web development project before. I have very basic knowledge of Dreamweaver Tool, html, JavaScript. My programming skills are fine in general, and I'm competent in C#, good at C++.
What should I do to complete this project? I am all for learning everything and understanding all the languages, but just searching through the process; Making a Front End, Server,.. and all these different frameworks - I'm panicking and don't know what is my next step to take.
I've mapped all the business flows and made a prototype. I just need to start the actual development, but I don't know which next step to take.
If you have a good knowledge of relational DBMS then you can use CakePHP to create your application quickly. It provides a feature called Cake Bake that can generate the source code for complete application using CLI.
You can refer:
https://cakephp.org/
https://book.cakephp.org/bake/1.x/en/index.html
This will really help you for the rapid application development. I hope this will help you.

How to work with gulp via FTP?

First of all, I'm sorry if this is pretty stupid question for you, I was searching the web for the answer, but unfortunately couldn't find complex one.
Recently I discovered not so new, but still cool stuff like SCSS, Pug, LiveReload, Gulp and all that automation stuff. I was really blown away, cause I've been like in a cave for past 2-3 years. So, the development for me is pretty easy and fast now, but I've got problem with production of this.
So, for example, I have to develop WordPress site. One year ago, I'd just run local server, install WordPress there, then I create a new template and customize it for customer needs. After that, I'd upload all of that on web-server (for FTP stuff I use Filezilla, if there's better tools - point me, please) and than, if needed, I'd open desired files from "Edit" menu in Filezilla, customize them, save - and that it's done, I can see the result in browser. I don't need local copy of the web-site on my computer (since some web-sites nowadays are pretty 'heavy').
Now, I don't know what to do with that automation stuff, cause it's all running with console and has to be compiled. So, in order to develop complex CMS-driven web-sites using automation tools, I need to always have latest copy on my local machine, and that send it again on web-server? What if customer, for example, decides to change the article or something on the web-site, when I sync my local copy with web-server, it'll be lost.
So, my main question, is there a way for me to create WordPress website using Gulp & Co and then easily update it later, via FTP client?

BMC Remedy Integration

Where can I find a list of BMC Remedy 3rd party integrations? I have found nothing on their website, and their sales department put me in touch with the customer services which wouldn't take my call because I didn't have a customer number.
My company is looking into using BMC Remedy as a customer incident system, and it would be nice if I could integrate it with some software. For example, we could have an internal development tracking system such as Jira, Redmine, MantisBT, Trak, etc. which would integrate with Remedy. Or, have Rememdy itself integrate with something like Hudson or CruiseControl.
So far, I've found nothing that seems to integrate with Remedy -- even with software packages that have a ton of integrations like Hudson and Jira. I don't really care if there are third party proprietary integrations, but I'd like to make sure they already exist and not All you have to do is hire someone at $400 to program everything for you. I want to make sure that there is something now and not be promised it can be done, then find out you really can't do it.
I may be a bit late to the party here, but I wanted to make this info available for anybody who happened to be searching for this answer in the future. BMC Remedy has an API in Java, which uses a native library in C, as well as bindings for Perl and other languages capable of calling native code. If you can integrate with any of those languages, you can write a custom integration program and integrate with that. As 'Gary L' mentioned, Remedy can also expose any form as a web service, which, in my experience, have simple interfaces.
Since the original question was asked, BMC have created a doc with a wealth of information on their Wiki. A Swedish company, RRR, has also collected every version of the Remedy Java API and required native libraries on a single page. It appear that you no longer need a support ID to access these pages and download the API files.
Hopefully somebody finds this helpful!
Your definition of "integrate" is different from their version. Their version of integration means that if a source system exposes its data, then you can configure ARS to retrieve that information and map it to classes (forms) within their system. They have a "generic" integration system that you have to customize. It has three broad areas:
If you can connect directly to a 3rd party database and see its schema, then you can perform
retrievals of that information. We use Oracle today.
They have a java API that allows you access the ARS system for custom code (I do a lot of this).
Flat CSV file importation of data from a source system into ARS (after export).
I looked at their online support for the systems you mention (Jira, Redmine, MantisBT, Trak) and do not see anything that would accomplish any of the three above without your own customizations. With the work that I've done on this system it doesn't surprise me.
I work on a project today that writes custom code doing the items above. It is a system that is configuration/development heavy for us. Your comment: "All you have to do is hire someone at $400 to program everything for you." is not too far off from what we have to do with the system.
There is another option for Remedy integration: Web Services.
BMC Remedy makes it easy to create web services (WSDL). It creates the SOAP and XML for you. When you buy Remedy Incident Management module, it includes out-of-the-box web services that will allow it to consume and/or publish web services which make it easy to integrate with other systems on the intranet or externally. There are BMC publications which provide details on ITSM integration --- but again you will need a customer/support ID to get it from BMC's website.
Yes and no to the Web Services integration. The Version 8 system I was working on had some web services available, and they were incomplete. So I was able to do a number of functions (mostly read-only), specifically for custom display and Change Request checking, and submission of a Change Request and a Work Order. But many functions had no web service, and I ended up brute-forcing through the web user interface (with a customized browser control) to change dates on tasks, or make tasks. Ugly, but effective. There are mid-tier JavaScript calls that can be used, if you know the secret function name and can deal with the dynamic naming convention in play. For Remedy users who are desperate for some integration, there are ways it can be done.
few OOTB integrations are possible with BMC Products but if you want to do it with other you have to write webservices(REST or SOAP)
Companies like IBM or cisco has made connectors for integration with Remedy.
Just adding more detail here:
I also do a ton of direct SQL for remedy integration.
If you're careful and know what you're doing, you can have a stored proc create legal/valid records in a remedy table. (If you do it wrong, the records won't load in the client and in older versions of the windows client can actually crash the client software.)

I'm starting an opensource project. Any advice? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
First of all, I reviewed this question, but I think I need a little more information since I've never worked on an opensource project before.
I'm starting an opensource project, currently hosted on Google code. It is a framework for creating flash games in ActionScript3 (programmer oriented). So far, so good, but I want to start building a community around it. The project is 60% finished from it's first official stable release (I am using Scrum to guide the development process, currently we are 3 people on the development team). By the way, the project has the MIT licence.
Do you have any advice on how to guide the development, any tools that I should look at?
Assembla vs Google code vs Trac vs Pivotal tracker?
What are you experiences on this?
If you're looking to build a community, it's not always about the tools, more about the processes you can use to build a community. There are plenty of people who will use whatever tool you give them or will choose (or refuse) to participate in a project based on the tools, but if the community stinks very few people will hang around.
I'd recommend spending some time thinking about how you're going to embrace a community. Are you ready to take the time to respond to bug reports? How will you handle enhancement requests? Are you willing to let something into the code if several people want it, but you don't? These are all critical issues that in the end will be far more important then Assmebla vs Trac.
You may want to check out Karl Fogel's book Producing Open Source Software or Jono Bacon's The Art of Community for more hints on managing and building a community.
First, big obvious download buttons so that a person can download your project, make it just plain easy. Secondly, forums so that people can give you feedback good and bad about the project.
Good luck on your project!
I would suggest checking out this book: http://producingoss.com/
I believe there is a free online and pdf version.
I have messed around with Trac some and it can certainly get the job done but if you are already doing an agile development process I would check out Pivotal Tracker. I use it on a side project and it's pretty slick, not to mention free to use. Pivotal has all the things you would expect: stories, backlog, velocity calculation, a few charts, etc.
Strive for adoption. The more users you get, the more people will contribute back.
Include lots of code samples on the wiki and let users download a sample application.
Make sure your API is well-documented with ASDoc.
Provide a roadmap to so that potential users can see your direction and intentions.
Be diligent about prioritizing feature requests and bugs. You and your team don't have time to do everything.
Make integration as seamless as possible. Hopefully users will be able to simply download a .swc (Flash library) and link it into their application.
Release early, release often. I hate having to download and use the HEAD revision from a repository because a team has only officially released one version of their project and it's a year old.
To me, guiding the development is more a matter of prioritizing what has to be done so I'm tempted to say: why don't you just use Google Code issue tracker as your project is already hosted there? I think it's offering all you need. Customize it to add a Estimates field if you want (for Scrum) and there you go.
Why do you think you would need something else? You already have a source repository, code reviews facilities, a wiki, mailing lists, an issue tracker, secured access for contributors. You don't need much more for collaborative work. What are you missing? Instant Messaging? Use Skype or Gtalk. IRC? You don't need it for now. No, really, I don't think a tool is gonna solve anything more here (even if you can't draw your burndown chart, not a big deal for a non full time project IMO).
So, because any other tool would be less well integrated with other Google Code services (e.g. I like to link my commits to issues using "Issue #ID" in comments which is automatically linked), I'd stick with what you currently have (maybe just add Gtalk/Skype to ease the communication/collaboration) and I'd start creating issues and prioritizing them. Good prioritization of work is the key to a successful project, there is no silver bullet tool that will do this for you. Then, plan fixed date milestones (releases) and assign most important issues to the upcoming milestone. Close as many issues as you can before the deadline. When the release time has come, release what has been done, postpone non implemented issue to the next milestone and start again.
If you need a software to support your scrum project... agile42 offers free Licenses of Agilo for Scrum Pro for open source projects.
Don't host your code on codeplex. I recently started an open source project as the basis of an article series on DotNetSlackers.com to show people how to build a site like SO. I mistakenly hosted this project on CodePlex. My automated build will periodically send me broken build emails as CodePlex will randomly go down for hours at a time. IT DRIVES ME NUTS!
If you plan to develop code that is free to the world but don't plan on letting anyone and everyone submit code to your project...host your own source control (perforce is free for a couple of users) or use something like google to host your code.