├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md └── writeups ├── Apache_OCW_IbrahimJarif.md ├── CNCF_Kubernetes_NikhitaRaghunath.md ├── Ceph_Multilaguage-RGW-Testing_JoannahNanjekye.md ├── ContributingToWikiToLearn_SrijanAgarwal.md ├── Drupal_Drupal_TameeshB.md ├── phpmyadmin_phpmyadmin_manishbisht.md └── worldbrain_memex_arpitgogia.md /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. 6 | 7 | ## Our Standards 8 | 9 | Examples of behavior that contributes to creating a positive environment include: 10 | 11 | * Using welcoming and inclusive language 12 | * Being respectful of differing viewpoints and experiences 13 | * Gracefully accepting constructive criticism 14 | * Focusing on what is best for the community 15 | * Showing empathy towards other community members 16 | 17 | Examples of unacceptable behavior by participants include: 18 | 19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances 20 | * Trolling, insulting/derogatory comments, and personal or political attacks 21 | * Public or private harassment 22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission 23 | * Other conduct which could reasonably be considered inappropriate in a professional setting 24 | 25 | ## Our Responsibilities 26 | 27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. 28 | 29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. 30 | 31 | ## Scope 32 | 33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. 34 | 35 | ## Enforcement 36 | 37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at opensourcehelpcommunity@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. 38 | 39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. 40 | 41 | ## Attribution 42 | 43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] 44 | 45 | [homepage]: http://contributor-covenant.org 46 | [version]: http://contributor-covenant.org/version/1/4/ 47 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | To add your own writeup, please follow these instructions: 4 | 5 | 1. The writeup is a markdown file and is named as `orgname_projectname_yourname.md`. 6 | 2. Save the file in the `/writeups` directory. 7 | 3. Update the README in the following format: 8 | 9 | ``` 10 | | [OrgName](link-to-org-website) | [ProjectName](writeups/orgname_projectname_yourname.md) | [YourName](https://github.com/your-github-username) | 11 | ``` 12 | 4. Make sure you maintain alphabetical order. 13 | 14 | In the guide, please add details about setting up your project, links to the documentation and any other things that helped you during contributing. Feel free to customize and add any information you think would prove useful to future contributors. 15 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Open Source Help Community 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ContributingToMyProject 2 | 3 | Writeup from maintainers, admins, contributors on how someone can get started with their project. 4 | 5 | Please follow the [contributing guide](CONTRIBUTING.md) to add your own contributing guide! 6 | 7 | | Organization | Project | Author | 8 | |:--------------|:----------|:-------| 9 | | [Apache](http://www.apache.org/) | [Apache Open Climate Workbench](writeups/Apache_OCW_IbrahimJarif.md) | [Ibrahim Jarif](https://github.com/jarifibrahim) | 10 | | [Ceph](http://ceph.com/) | [Multilanguage RGW Testing](writeups/Ceph_Multilaguage-RGW-Testing_JoannahNanjekye.md) | [Joannah Nanjekye](https://github.com/nanjekyejoannah) | 11 | | [Cloud Native Computing Foundation](https://www.cncf.io/) | [Kubernetes](writeups/CNCF_Kubernetes_NikhitaRaghunath.md) | [Nikhita Raghunath](https://github.com/nikhita) | 12 | | [Drupal](https://www.drupal.org/) | [Drupal](writeups/Drupal_Drupal_TameeshB.md) | [Tameesh Biswas](https://github.com/tameeshb) | 13 | | [phpMyAdmin](https://www.phpmyadmin.net/) | [phpMyAdmin](writeups/phpmyadmin_phpmyadmin_manishbisht.md) | [Manish Bisht](https://github.com/manishbisht) | 14 | | [WikiToLearn](https://www.wikitolearn.org/) | [WikiToLearn](writeups/ContributingToWikiToLearn_SrijanAgarwal.md) | [Srijan Agarwal](https://www.github.com/srijancse) | 15 | | [WorldBrain](https://worldbrain.io/) | [Memex](writeups/worldbrain_memex_arpitgogia.md) | [Arpit Gogia](https://github.com/arpitgogia) | 16 | -------------------------------------------------------------------------------- /writeups/Apache_OCW_IbrahimJarif.md: -------------------------------------------------------------------------------- 1 | # How to contribute to Apache Open Climate Workbench 2 | 3 | ## What is Apache Open Climate Workbench (OCW) 4 | 5 | Apache Open Climate Workbench is an effort to develop software that performs climate model evaluation using model outputs from a variety of different sources the [Earth System Grid Federation](http://esgf.llnl.gov/), the [Coordinated Regional Climate Downscaling Experiment](http://www.cordex.org/), the [U.S. National Climate Assessment](http://nca2014.globalchange.gov/) and the [North American Regional Climate Change Assessment Program](http://www.narccap.ucar.edu/) and temporal/spatial scales with remote sensing data from [NASA](http://www.nasa.gov/), [NOAA](http://www.noaa.gov/) and other agencies. The toolkit includes capabilities for rebinning, metrics computation and visualization. 6 | 7 | ## Getting Involved 8 | You don't need to be a software developer to contribute to Apache Open Climate Workbench! To be successful the community requires (and appreciates) a range of different skills, levels of involvement and degrees of technical competency. 9 | 10 | So, if you want to get involved in Apache Open Climate Workbench, there is almost certainly a role for you. We are looking for people to: 11 | 12 | * Provide feedback 13 | * Write or update documentation 14 | * Help new users 15 | * Recommend the project to others 16 | * Test the code and report bugs 17 | * Fix bugs and submit patches 18 | * Give us feedback on required features 19 | * Write and update the software 20 | * Create artwork 21 | * Translate to different languages 22 | * Anything you can see that needs doing 23 | 24 | All of these contributions help to keep a project active and strengthen the community. The [project team](https://climate.apache.org/community/people.html) and the broader community will therefore welcome and encourage participation, and attempt to make it as easy as possible for people to get involved 25 | 26 | ## Setting up development environment 27 | 28 | ### Grab the latest code from the ASF (User) 29 | ``` 30 | git clone http://git-wip-us.apache.org/repos/asf/climate.git 31 | ``` 32 | ### Dependency Installation 33 | #### Using conda 34 | This is the simplest and recommended installation method. You will first need to install the conda package manager, which can be readily obtained through either the [Anaconda](https://store.continuum.io/cshop/anaconda) or [Miniconda](http://conda.pydata.org/miniconda.html) scientific python distributions. Be sure to allow the installation to update your PATH for you. 35 | 36 | Before invoking conda to install the dependencies, it's always a good idea to ensure that your version of conda is up to date. You can do this with: 37 | ``` 38 | # Update conda packages 39 | $ conda update conda 40 | # Add the conda-forge repository to your package manager 41 | $ conda config --add channels conda-forge 42 | # Install ocw to ~/anaconda or ~/miniconda2/3 43 | $ conda install ocw 44 | ``` 45 | 46 | This installation method should work for all major platforms, making it particularly advantageous. 47 | 48 | ### Test Your Installation 49 | The easiest way to test your installation is to run one of the example scripts in `$HOME/climate/examples`. 50 | ``` 51 | $ cd $HOME/climate/examples 52 | $ python simple_model_to_model_bias.py 53 | ``` 54 | If you face run-time exceptions with the above, make sure you have the [libpng16](http://sourceforge.net/projects/libpng/files/libpng16/) library [installed](http://geeksww.com/tutorials/libraries/libpng/installation/installing_libpng_on_ubuntu_linux.php), and are not running libpng12. 55 | 56 | If everything runs successfully you should see a plot similar to the one below in the examples folder. 57 | ![](https://cwiki.apache.org/confluence/download/attachments/40507990/wrf_bias_compared_to_knmi.png?version=1&modificationDate=1427403747000&api=v2) 58 | 59 | ## Installing the OCW UI 60 | If you would like to install and use the OCW-UI for running simple evaluations through your web browser, check the [Open Climate Workbench User Interface Installation and Overview](https://cwiki.apache.org/confluence/display/CLIMATE/Open+Climate+Workbench+User+Interface+Installation+and+Overview) guide to get started. 61 | 62 | 63 | ## Using the OCW VM 64 | If you want to get up and running with OCW quickly and with minimal overhead consider using the OCW VM. You can read about how to build the VM on the [OCW VM - A Self Contained OCW Environment](https://cwiki.apache.org/confluence/display/CLIMATE/OCW+VM+-+A+Self+Contained+OCW+Environment) page. The OCW VM gives you an isolated VM environment with OCW pre-setup for you so you can get up and running without installing dependencies or configuring your system. 65 | 66 | ## Mailing lists 67 | This is where the community hangs out and discussion about development happens. This list is used to coordinate activities and ensure we are all pulling in the same direction. 68 | 69 | * Subscribe: dev-subscribe@climate.apache.org 70 | * Post (after subscription): dev@climate.apache.org 71 | * Unsubscribe: dev-unsubscribe@climate.apache.org 72 | * Apache Archives: [Climate Dev Mail Archives](http://mail-archives.apache.org/mod_mbox/incubator-climate-dev/) (non-searchable) 73 | * The Mail Archive Archives: [Climate Dev Mail Archives](http://www.mail-archive.com/dev%40climate.apache.org/) (searchable) 74 | 75 | ## Useful Links 76 | * Project Website - https://climate.apache.org/ 77 | * Project Source Code - https://github.com/apache/climate 78 | * Documentation - https://cwiki.apache.org/confluence/display/CLIMATE/Home 79 | * Python API Docs - https://climate.apache.org/api/current/index.html 80 | * Issue Tracker - https://issues.apache.org/jira/browse/climate -------------------------------------------------------------------------------- /writeups/CNCF_Kubernetes_NikhitaRaghunath.md: -------------------------------------------------------------------------------- 1 | # How to contribute to Kubernetes 2 | 3 | Kubernetes is a huge project and one the [fastest growing projects](http://redmonk.com/fryan/2016/11/08/kubernetes-from-evolution-to-an-established-ecosystem/) of all time. At first, the codebase might feel intimidating and scary but please don't give up because you will end up learning a LOT and be introduced to an amazing community! 4 | 5 | Note: Kubernetes is written in Go so if you are not familiar with it, it is recommended you go through the [Go tour](https://tour.golang.org/welcome/1). 6 | 7 | ## Table of Contents 8 | 9 | 1. [What is Kubernetes](#what-is-kubernetes) 10 | 2. [What does the name mean](#what-does-the-name-mean) 11 | 3. [How to learn about Kubernetes](#how-to-learn-about-kubernetes) 12 | 4. [Installing Kubernetes locally](#installing-kubernetes-locally) 13 | 1. [Dependencies](#dependencies) 14 | 1. [Go](#go) 15 | 2. [etcd](#etcd) 16 | 2. [Workflow](#workflow) 17 | 5. [Diving into the codebase](#diving-into-the-codebase) 18 | 1. [Understanding the API](#understanding-the-api) 19 | 2. [Sign the CLA](#sign-the-cla) 20 | 3. [Finding an issue to work on](#finding-an-issue-to-work-on) 21 | 6. [Communication](#communication) 22 | 7. [Miscellaneous](#miscellaneous) 23 | 8. [Conclusion](#conclusion) 24 | 25 | ## What is Kubernetes 26 | 27 | [Kubernetes](https://github.com/kubernetes/kubernetes) is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon a decade and a half of experience at Google running production workloads at scale using a system called [Borg](https://research.google.com/pubs/pub43438.html), combined with best-of-breed ideas and practices from the community. 28 | 29 | Basically what this means is that real production apps span multiple containers. Those containers must be deployed across multiple server hosts. Kubernetes gives you the orchestration and management capabilities required to deploy containers, at scale, for these workloads. Kubernetes orchestration allows you to build application services that span multiple containers, schedule those containers across a cluster, scale those containers, and manage the health of those containers over time. 30 | 31 | Kubernetes also needs to integrate with networking, storage, security, telemetry and other services to provide a comprehensive container infrastructure. 32 | 33 | ## What does the name mean 34 | 35 | When people hear of Kubernetes, the first question they ask is - why is it called Kubernetes and how is it pronounced?! 36 | 37 | Kubernetes, pronounced as _“koo-burr-NET-eez”_, is Greek for "helmsman" or "pilot". Get it? Helping you navigate the murky waters of cloud computing and containerized applications? :D 38 | 39 | Its development and design are heavily influenced by Google's Borg system and many of the top contributors to the project previously worked on Borg. The original codename for Kubernetes within Google was Project Seven, a reference to a Star Trek character that is a 'friendlier' Borg. The seven spokes on the wheel of the Kubernetes logo is a nod to that codename. 40 | 41 | Since Kubernetes is a long name, it is usually abbreviated to _k8s_ (K – eight characters – S) or just _kube_. 42 | 43 | There is also an inside joke about the pronounciation of `kubectl`, the command line interface for running commands against Kubernetes clusters. Noone knows the correct pronounciation - take your pick from the following! 44 | 45 | 1. kube-control 46 | 2. kube-C-T-L 47 | 3. kube-cuddle 48 | 4. the recent [kube-ek-til](https://twitter.com/thockin/status/873403604035555328) 49 | 50 | 51 | ## How to learn about Kubernetes 52 | 53 | There are multiple resources available from where you can learn about Kubernetes. However, my personal recommendation would be to go through the following resources first. Once you feel comfortable with these, you can explore more further. 54 | 55 | 1. Go through the [interactive tutorials](https://kubernetes.io/docs/tutorials/kubernetes-basics/) first. Execute all commands by yourself and try to understand what is happening. If you don't understand on the first go, that is totally okay. The important part is that you get familiar with `kubectl` so that when you learn more about Kubernetes, it doesn't look completely new to you. 56 | 57 | 2. Go through some blog posts [[1](https://blog.giantswarm.io/understanding-basic-kubernetes-concepts-i-introduction-to-pods-labels-replicas/)][[2](https://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes)] to understand the key concepts of k8s like pods, nodes, services, etc. 58 | 59 | 3. I'd strongly recommend going through the Udacity course [Scalable Microservices with Kubernetes](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615) by Kelsey Hightower and Carter Morgan. They are excellent teachers and explain about Docker and Kubernetes in a very easy way. 60 | 61 | ## Installing Kubernetes locally 62 | 63 | It is recommended that you install Kubernetes on Linux or Mac. 64 | 65 | ### Dependencies 66 | 67 | #### Go 68 | Kubernetes is written in Go. If you don't have a Go development environment, please [set one up](https://golang.org/doc/install). Make sure you install Go version 1.8.1 for Kubernetes to work properly. This YouTube [tutorial](https://www.youtube.com/watch?v=5qI8z_lB5Lw) is pretty handy to understand about `GOPATH`. 69 | 70 | Ensure your `GOPATH` and `PATH` have been configured in accordance with the Go environment instructions. 71 | 72 | Dependency management for Go is done using `godep`. Once you have configured your Go environment, run the following: 73 | 74 | ```bash 75 | $ go get -u github.com/tools/godep 76 | ``` 77 | 78 | Make sure it is installed correctly: 79 | 80 | ```bash 81 | $ godep version 82 | ``` 83 | 84 | #### etcd 85 | 86 | Kubernetes maintains state in [etcd](https://coreos.com/etcd/docs/latest), a distributed key store. 87 | 88 | You can install it locally _after_ installing installing Kubernetes too! There is a script in the k8s repo which does this for you. So once have completed installing Kubernetes as shown below, do the following: 89 | 90 | ```bash 91 | $ hack/install-etcd.sh 92 | $ echo export PATH="\$PATH:$(pwd)/third_party/etcd" >> ~/.profile 93 | ``` 94 | 95 | ### Workflow 96 | 97 | Fork the [repo](https://github.com/kubernetes/kubernetes) first and then follow these commands. They show the workflow you'll need to follow to install kubernetes locally. 98 | 99 | ```bash 100 | $ working_dir=$GOPATH/src/k8s.io 101 | $ user={your github profile name} 102 | 103 | # clone the repo 104 | $ mkdir -p $working_dir 105 | $ cd $working_dir 106 | $ git clone https://github.com/$user/kubernetes.git 107 | 108 | # add upstream 109 | $ cd $working_dir/kubernetes 110 | $ git remote add upstream https://github.com/kubernetes/kubernetes.git 111 | 112 | # Never push to upstream master 113 | git remote set-url --push upstream no_push 114 | ``` 115 | 116 | While working on some code, to keep your branch in sync, you need to rebase to HEAD. 117 | 118 | ```bash 119 | # While on your feature branch 120 | $ git fetch upstream 121 | $ git rebase upstream/master 122 | ``` 123 | 124 | To start a cluster locally: 125 | 126 | ```bash 127 | $ hack/local-cluster-up.sh -O 128 | ``` 129 | 130 | To build and test: 131 | 132 | ```bash 133 | # to build 134 | $ make 135 | 136 | # to build and start a cluster 137 | $ hack/local-cluster-up.sh 138 | ``` 139 | 140 | Writing tests is important! There are different types of tests: unit tests, integration tests and e2e tests. You can find instructions on how to run them [here](https://github.com/kubernetes/community/blob/master/contributors/devel/testing.md). 141 | 142 | To install and set up the `kubectl` binary, please read the instructions [here](https://kubernetes.io/docs/tasks/tools/install-kubectl/). For a much more detailed overview, please refer this [repository](https://github.com/kubernetes/community/tree/master/contributors/devel). 143 | 144 | ## Diving into the codebase 145 | 146 | ### Understanding the API 147 | Before you start exploring issues and find things to work on, you need to understand how the kubernetes API is structured. This [document](https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md) explains the design of the API. Also go through the [architecture](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture.md) to understand how different components are connected together. It is crucial that you understand this before moving further. If you have any queries, feel free to ask on Slack. 148 | 149 | Documentation is great but you will also learn a lot by going through issue comments. This is where most of the discussion happens and you can pick up important points about how a piece of code works. 150 | 151 | ### Sign the CLA 152 | Kubernetes is a Cloud Native Computing Foundation (CNCF) product. To contribute code, you need to sign a Contributors License Agreement (CLA). Instructions to sign the CLA electronically can be found [here](https://github.com/kubernetes/kubernetes/wiki/CLA-FAQ). 153 | 154 | ### Finding an issue to work on 155 | 156 | 1. Kubernetes is a **huge** project and has more than 4,300 issues open at any given point of time. There are issue labels like [`help wanted`](https://github.com/kubernetes/kubernetes/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) which can help you to find potential issues you can work on. 157 | 158 | 2. Personally, I would recommend you to go through the issues mentioned in the kubectl roadmap - especially the issues under _[improve error messages](https://github.com/kubernetes/community/wiki/Roadmap:-kubectl#improve-help--error-messages--output)_. If you don't understand how to solve an issue, that's okay, move on to the next one. But make sure that you at least _try_ to search for the code associated with the issue. At this point, it is NOT important for you to solve issues but to understand how the code is structured and understand the code. Once you see the code and feel comfortable with it, you can easily move ahead with solving issues. 159 | 160 | 3. If you find an issue you would like to work on, comment on the issue that you would like to work on it. Please note that only org members can be "assigned" to issues. So even though you won't be assigned to an issue, consider yourself assigned and start working on it. If you have some queries and don't get a response within 1-2 days (probable since most devs are super busy), ping the OP of the issue on slack. 161 | 162 | 4. Kubernetes has several teams working on a specific component. These teams are called Special Interest Groups or _SIGs_. Example: SIG Auth, SIG AWS, SIG API Machinery. This [document](https://github.com/kubernetes/community/blob/master/sig-list.md) lists all the SIGs along with links to their mailing lists, slack channel and meetings. If you prefer to work on a particular component, I would suggest you to join the SIGs relevant to your interest and go through their meeting notes to understand what the team is working on now. If you would like to know the project/team better, you could also join the meeting. It is not necessary to contribute during the meetings, you can lurk around too. Tell them that you would love to contribute. The community is very friendly so you'll mostly find someone who would love to help and mentor you! :) 163 | 164 | ## Communication 165 | 166 | There are multiple methods of communication - the most receptive one is slack. 167 | 168 | * Slack: 169 | - Please visit this [site](http://slack.k8s.io/) to get an invite. 170 | - There are multiple channels catering to different needs. For general development questions, ask in #kubernetes-dev. 171 | - For SIG specific questions, ask in the SIG channel. Example: #sig-api-machinery. 172 | 173 | * Mailing lists: 174 | - The general mailing list where all the important announcements are made is [kubernetes-dev](https://groups.google.com/forum/#!forum/kubernetes-dev). 175 | - Each SIG has its main mailing list where SIG related announcements are made. 176 | - Each SIG also has other mailing lists like "kubernetes-sig-api-machinery-api-reviews". So when someone mentions `@kubernetes/sig-api-machinery-api-reviews` in a PR, the PR comments are sent to the mailing list. This is done to notify the concerned members about a PR or code change. 177 | 178 | * Twitter: official Kubernetes [handle](https://twitter.com/kubernetesio?lang=en) for cool announcements. 179 | 180 | * [Kubeweekly](http://kube.news/): It aggregates all interesting weekly news about Kubernetes in the form of a newsletter. 181 | 182 | ## Miscellaneous 183 | 184 | There are few other points about kubernetes you should know! 185 | 186 | 1. Each file in the codebase has a copyright header. There are many cases when the dev who modifies the code ends up changing the year in the copyright header too. It is a not a grave error but don't do that - the year denotes the year when the file was _created_, not _modified_. 187 | 188 | 2. While opening a PR, please go through the issues and search if your PR closes an issue. If it does, mention it in your PR description as `fixes #XXXX`. Note that each PR needs to have an issue associated with it to be merged unless, of course, it is trivial. 189 | 190 | 3. There are many scripts available under the `hack` directory that make your life easier (like `local-cluster-up.sh` you just used). Most of them are huge makefiles - you don't need to worry about the code but only learn to use them. For example, if you update any imports in any file, you need to update the `BUILD` files by running the following command. Don't worry too much about these commands, you'll learn as you contribute but you should be aware of them. 191 | 192 | ``` 193 | $ ./hack/update-bazel.sh 194 | ``` 195 | 196 | 4. When you submit a PR, make sure you follow the PR template. You will notice a RELEASE NOTE section in template. This is used to write a release note if the PR you submitted introduces a **significant** change. 99% of the time, it is not needed. So you need to write it as: 197 | 198 | 199 | ```release-note 200 | NONE 201 | ``` 202 | 203 | 5. Since you are not a member of the k8s org, you will need an org member to comment `@k8s-bot ok to test` so that the CI starts testing your changes. It could so happen that your code encounters a **flaky test** - this means that it is not the fault of your code that the test failed. In this case, you need to re-run the test using a command like `@k8s-bot pull-kubernetes-e2e-gce-etcd3 test this`. Don't be intimidated about this, the bot will tell you which command to run! In any case, there is a [list](https://github.com/kubernetes/test-infra/blob/master/commands.md) of commands you can use with the bot. There is a whole `test-infra` [repo](https://github.com/kubernetes/test-infra) which takes care of the testing! ;) 204 | 205 | 6. Once your code doesn't flake anymore, it will be tested again by the submit queue before merging. You can view the submit queue [here](https://submit-queue.k8s.io/#/prs). Finally, your code will be merged! \o/ 206 | 207 | 7. The Kubernetes repo undergoes a code freeze just before a release. There is a proper release schedule followed which dictates when the code freeze will start. [This](https://github.com/kubernetes/features/blob/master/release-1.7/release-1.7.md) is the schedule for the 1.7 release. Note that most of the devs would be **really** busy a week or two before the code freeze so don't be disheartened if you don't receive a quick response then. 208 | 209 | ## Conclusion 210 | 211 | The Kubernetes codebase is huge and it is one of the fastest moving projects in the world. It is _easy_ to get intimidated by it but please remember that the struggle that you face while starting out will be **worth it**. You will be exposed to good coding practices, interesting discussions, healthy code review and most importantly, you will be a part of a wonderful community! 212 | 213 | If you have specific questions, want to share your experience/problems you are facing during contributing or just want to say hi - feel free to DM me (@nikhita) on the k8s slack. :) 214 | -------------------------------------------------------------------------------- /writeups/Ceph_Multilaguage-RGW-Testing_JoannahNanjekye.md: -------------------------------------------------------------------------------- 1 | 2 | # How To Contribute to Ceph - RGW Testing 3 | 4 | ## What is Ceph 5 | 6 | Ceph is a distributed object, block, and file storage platform. It features an interface for Amazon S3 objects inside of its Rados Gateway (RGW). 7 | 8 | This RGW's S3 interface is tested and currently has three test suites in python, java and Golang that run against it. These test suites use Amazon SDKs namely boto for python, Go SDK for golang and the Java SDK for Java. In future there may be a c++ test suite as well. 9 | 10 | ## Getting Involved In Ceph Generally 11 | 12 | Generally Contributing to the Ceph project without a very specific purpose or guidance can have a high 13 | barrier to entry. Usually the people that contribute significantly to Ceph are doing it on behalf of their 14 | company and have significant experience in linux/distributed systems/storage. 15 | 16 | If someone wanted to make a contribution and weren't be mentored or employed to do so 17 | they would need to be quite the self starter as well because seriously contributing to 18 | Ceph isn't something you can just do off and on. 19 | 20 | My recommendation is that you read carefully through the online documentation, watch videos 21 | on it, and build and run a ceph cluster. Then I suggest picking a sub-component of 22 | Ceph to work on (the OSD, RGW, RBD, etc.) and only focus on the component to work on. 23 | 24 | Then email ceph-devel asking for a starter project on that specific 25 | sub-component or take a look at the bugs list and try to solve a bug that's not being 26 | worked on in sub-component to get a good understanding of the code. 27 | 28 | The list of open issues in Ceph are here: 29 | http://tracker.ceph.com/projects/devops/issues 30 | 31 | Here is the info for mailing lists: 32 | http://ceph.com/irc/ 33 | 34 | ## Getting Involved in RGW Testing 35 | 36 | Ceph has many [projects](https://github.com/ceph). I will take you through the projects regarding RGW testing. To get involved, you have to first choose what test suite you want to contribute to and if you are not familiar with the programming language then you can go through some tutorials. 37 | 38 | ### Prerequisites 39 | 40 | Most of the instructions in running these tests are based on the fact that you use linux. It is advisable that you get yourself any linux distro like ubuntu or fedora but I would recommend fedora. 41 | 42 | You will also need to have a basic understanding of how to use the [Amazon s3 SDKS](https://aws.amazon.com/tools/). There is enough documentation on these SDKS. Go through the details for an sdk depending on the language of the test suite you choose. You can take a look at the developer guides below: 43 | 44 | + [AWS SDK for Go Developer guide](http://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/aws-sdk-go-dg.pdf) 45 | + [AWS SDK for Java Developer guide](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/aws-sdk-java-dg.pdf) 46 | + [Boto Documentation](http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/aws-sdk-java-dg.pdf) 47 | 48 | ### Running RGW 49 | 50 | Important to note is the tests run against RGW therefore you need to have it running somewhere. You can set it up in a Linux machine or virtual machine using these guidelines. 51 | 52 | Clone Ceph 53 | 54 | You can clone from github with 55 | 56 | git clone git@github.com:ceph/ceph 57 | 58 | or, if you are not a github user, 59 | 60 | git clone git://github.com/ceph/ceph 61 | 62 | Check out Ceph's submodules 63 | 64 | git submodule update --init --recursive 65 | 66 | Install dependencies 67 | 68 | ./install-deps.sh 69 | 70 | Build the vstart target because that is all we need 71 | 72 | ./do_cmake.sh 73 | cd build 74 | make vstart 75 | 76 | Run vstart 77 | 78 | on master 79 | 80 | ../src/vstart.sh -n -l --rgw_num 1 81 | 82 | on kraken branch 83 | 84 | ../src/vstart.sh -n -l -r 85 | 86 | 87 | ### Checking out and running the Test Suites 88 | 89 | #### Go Test suite 90 | 91 | Install Go and set GoPath 92 | 93 | Ubuntu 94 | 95 | sudo apt-get install golang 96 | export GOPATH=$HOME/go 97 | 98 | fedora 99 | 100 | dnf install golang 101 | export GOPATH=$HOME/go 102 | 103 | Clone the test Repository 104 | 105 | git clone https://github.com/nanjekyejoannah/go_s3tests 106 | cd go_s3tests 107 | 108 | Create Configuration by copying sample 109 | 110 | cp config.toml.sample config.toml 111 | 112 | Install Dependencies 113 | 114 | go get -d ./... 115 | 116 | Run the tests 117 | 118 | cd s3tests 119 | go test -v 120 | 121 | #### Java Test suite 122 | 123 | Clone the test repository 124 | 125 | git clone https://github.com/nanjekyejoannah/java_s3tests 126 | cd java_s3tests 127 | 128 | Create Configuration by copying sample 129 | 130 | cp config.properties.sample config.properties 131 | 132 | Install gradle 133 | 134 | Ubuntu 135 | 136 | sudo add-apt-repository ppa:cwchien/gradle 137 | sudo apt-get update 138 | sudo apt-get install gradle 139 | 140 | Fedora 141 | 142 | dnf install gradle 143 | 144 | Build the project 145 | 146 | gradle build 147 | 148 | Run the tests 149 | 150 | gradle test 151 | 152 | 153 | #### Python Test suite 154 | 155 | To get started, ensure you have the virtualenv software installed; e.g. on Debian/Ubuntu: 156 | 157 | sudo apt-get install python-virtualenv 158 | 159 | and then run: 160 | 161 | ./bootstrap 162 | 163 | Create a configuration file with the location of the service and two different credentials, something like this: 164 | 165 | [DEFAULT] 166 | ## this section is just used as default for all the "s3 *" 167 | ## sections, you can place these variables also directly there 168 | 169 | ## replace with e.g. "localhost" to run against local software 170 | host = s3.amazonaws.com 171 | 172 | ## uncomment the port to use something other than 80 173 | # port = 8080 174 | 175 | ## say "no" to disable TLS 176 | is_secure = yes 177 | 178 | [fixtures] 179 | ## all the buckets created will start with this prefix; 180 | ## {random} will be filled with random characters to pad 181 | ## the prefix to 30 characters long, and avoid collisions 182 | bucket prefix = YOURNAMEHERE-{random}- 183 | 184 | [s3 main] 185 | ## the tests assume two accounts are defined, "main" and "alt". 186 | 187 | ## user_id is a 64-character hexstring 188 | user_id = 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef 189 | 190 | ## display name typically looks more like a unix login, "jdoe" etc 191 | display_name = youruseridhere 192 | 193 | ## replace these with your access keys 194 | access_key = ABCDEFGHIJKLMNOPQRST 195 | secret_key = abcdefghijklmnopqrstuvwxyzabcdefghijklmn 196 | 197 | ## replace with key id obtained when secret is created, or delete if KMS not tested 198 | kms_keyid = 01234567-89ab-cdef-0123-456789abcdef 199 | 200 | [s3 alt] 201 | ## another user account, used for ACL-related tests 202 | user_id = 56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234 203 | display_name = john.doe 204 | ## the "alt" user needs to have email set, too 205 | email = john.doe@example.com 206 | access_key = NOPQRSTUVWXYZABCDEFG 207 | secret_key = nopqrstuvwxyzabcdefghijklmnabcdefghijklm 208 | 209 | Run the tests 210 | 211 | S3TEST_CONF=your.conf ./virtualenv/bin/nosetests 212 | 213 | ### Contribute! Contribute! Contribute! 214 | 215 | You can contribute in many ways by opening an issue or working on the open issues on the projects. A good way to find issues is looking at what tests have not yet been implemented and quickly open an issue. 216 | 217 | To find something to work on, look through the to do section of the readme files of the test suites and reach out to the community IRC channel for guidance. You can also choose to work on existing open issues. 218 | 219 | Patches can be sent through by opening a pull request on the repositories. 220 | 221 | ## Ping the community using these platforms 222 | 223 | + On IRC use #ceph-devel - Connect your client to: irc.oftc.net 224 | + Please send a mail to ceph-community@ceph.com if you would like an invite to the [Ceph slack channel](https://ceph-storage.slack.com/) 225 | + You can also use the mailing list ceph-devel@vger.kernel.org 226 | 227 | ## Happy Hacking! 228 | 229 | Ceph is a warm community. You may face some back and forth especially building and running ceph but remember that it always works as @amaredia says. Feel free to reachout to me (@Captain_Joannah on twitter)if you are stuck. I could also help out on especially the java and Go test suites. 230 | 231 | ## Useful Links 232 | 233 | + https://github.com/ceph 234 | + http://ceph.com/irc/ 235 | + https://github.com/ceph/s3-tests 236 | + https://github.com/nanjekyejoannah/java_s3tests 237 | + https://github.com/nanjekyejoannah/go_s3tests -------------------------------------------------------------------------------- /writeups/ContributingToWikiToLearn_SrijanAgarwal.md: -------------------------------------------------------------------------------- 1 | # How to contribute to WikiToLearn? 2 | 3 | ## What is WikiToLearn? 4 | 5 | WikiToLearn is a portal that aims to create free collaborative and readily accessible textbooks. Our philosophy can be summarized as *"Knowledge only grows if shared"*. On this platform, teaching and studying merges into the cooperative writing and revision of notes and textbooks, which can then be organized and reassembled, according to each user's needs. 6 | 7 | ## Why is it an innovation? 8 | 9 | WikiToLearn does not bring new knowledge. WikiToLearn offers a new approach to knowledge: it rediscovers and proposes again the attitude, now almost forgotten by mankind: the collaboration and communication among thinkers. This philosophy is the one that led our civilization to take the huge steps that have brought us here today, with our endless heritage of knowledge. Without the collaboration and the communication among thinkers, without the free availability of knowledge, no big discovery would have been possible. This is what we are trying to restore. We are moved by the love for free knowledge, owned by no one and accessible to everyone. In collaboration (without any kind of remuneration), we want to make this vision possible. Open source in this context gains a profound and significant meaning, merging naturally with our philosophy. Here are the basics: 10 | 11 | * Any content can be modified. This leads to a continuous development of the existing material, to this philosophy of *collaboration* and *communication* among thinkers. 12 | * Everything on WikiToLearn is freely accessible and downloadable. In this way, knowledge is made available to everyone. 13 | 14 | ## How can I contribute? 15 | 16 | WikiToLearn is actively developed both on the technical and the content side. It's possible to contribute in several ways, regardless of the user's skills and experience. 17 | 18 | ### Translation 19 | Are you fluent in (at least) two languages? 20 | Translating on WikiToLearn is an opportunity to practice your translation skills, at the same time you will learn about new things, and you will contribute to the growth of knowledge in the world . The content does not need to be written from scratch, the translation into several languages is as important as the content itself, to guarantee its accessibility to everyone. 21 | 22 | If you want to help with translation you can join the [#translation](https://chat.wikitolearn.org) channel. 23 | 24 | ### Web development 25 | WikiToLearn is a project based on MediaWiki, so we always need developers to fix bugs and develop new innovative programs. Web development is split into groups and every group has its maintainer. If you want to help with tech you can join the [#tech](https://chat.wikitolearn.org) channel. 26 | 27 | ### Setting up local WikiToLearn instance with WikiToLearnHome 28 | 29 | #### Requirements 30 | * 64-Bit Computer (docker need a 64 bit system) 31 | * GNU/Linux with docker or Windows/OSX with virtualization compatibility and enabled 32 | * Stable internet connection (download size can be up to 10 GB) 33 | 34 | This procedure may fail if you have no Internet access or if the connection is filtered by firewall – this could happen in public places such as universities, libraries, airports, etc. 35 | 36 | #### GNU/Linux installation 37 | ##### Prerequisites 38 | WTL and WTLH have some dependencies: 39 | 40 | * any version 41 | * curl 42 | * rsync 43 | * dirname 44 | * realpath 45 | * git 46 | * pandoc 47 | 48 | * specific version required 49 | * docker ( >= 1.10.3) 50 | * python3 51 | 52 | ##### Ubuntu/Debian prerequisites install 53 | ```sudo apt-get install curl rsync coreutils realpath git python3 pandoc``` 54 | 55 | ##### Arch prerequisites install 56 | ```sudo pacman -Sy curl rsync coreutils git python3 pandoc``` 57 | 58 | `realpath` is in `AUR` 59 | 60 | #### Docker installation 61 | Docker is a quickly evolving technology, and it may be possible that the your distro's official repository does not have the docker version required to run WTL yet. We thus recommend to install docker following the [official guide](https://docs.docker.com/engine/installation/). 62 | 63 | Do not forget to add your user to the docker group, so that you do not have to use super user privileges every time you have to manage docker images and volumes. WTLH is intended to work only if your user is added to docker group, otherwise you get errors related to missing the correct permissions since WTLH is not intended to be executed with super user rights. We recommend following this [guide] (https://docs.docker.com/engine/installation/linux/linux-postinstall/). 64 | 65 | #### Pandoc 66 | Pandoc is used to convert markdown documentation into mediawiki, that can be imported to [meta](https://meta.wikitolearn.org/Main_Page), thus this is not a real prerequisite, it is only needed if you are willing to help us keeping our online documentation up to date! 67 | 68 | Now you can proceed to the actual download with the following command line: 69 | 70 | `git clone --recursive https://github.com/WikiToLearn/WikiToLearnHome.git` 71 | 72 | This creates a folder called WikiToLearnHome (inside your home directory) which contains all the necessary files. This folder contains all script used to manage the WikiToLearn instance. 73 | 74 | Before the download of all the code you have to generate a [GitHub token](https://github.com/settings/tokens) (leave all the scopes unchecked) (used for composer). 75 | 76 | `cd WikiToLearnHome 77 | ./create-config.sh -t ` 78 | 79 | We recommend using SSH to communicate with github ([guide on ssh key generation here](https://help.github.com/articles/connecting-to-github-with-ssh/)). 80 | 81 | After this setup you can download the WikiToLearn repository using this script 82 | 83 | `./instance.sh download` 84 | 85 | ##### Start and stop the server 86 | 87 | To start the local server the command is 88 | 89 | `./instance.sh first-run` 90 | 91 | Now you can work on your local instance of WikiToLearn and see your work on www.tuttorotto.biz 92 | 93 | You can shutdown the server with 94 | 95 | `./instance.sh stop` 96 | 97 | And start again with 98 | 99 | `./instance.sh start` 100 | 101 | Sometimes you might want to wipe out the server and for this you can use 102 | 103 | `./instance.sh delete` 104 | 105 | Read the guide to [instance.sh](http://meta.wikitolearn.org/WikiToLearn_Home/WikitoLearn_Home_Documentation/Instance_Doc) for a detailed description of how to use WTLH to manage the WTL instance. 106 | 107 | 108 | ##### Change the config and restart the dockers 109 | 110 | You can also change the configuration of the environment (for example changing the number of mathois workers) and restart the containers without re-pulling all the images. 111 | 112 | Stop the running instance, if you have any. 113 | 114 | `./instance.sh stop` 115 | 116 | Change the configuration: 117 | 118 | `nano ./create-config.sh` 119 | 120 | Create the configuration files and update the scripts with the new parameters 121 | 122 | `./create-config.sh -t -p --existing-repo --force-new-config 123 | ./instance.sh create` 124 | 125 | Start the new instance (with the new parameters) 126 | 127 | `./instance.sh start` 128 | 129 | #### Vagrant Installation for Windows/OSX 130 | 131 | WTL is build to work on GNU/Linux. It uses GNU/Linux software, enclosed inside docker containers, that require the GNU/Linux kernel. Hence, if you want to develop WTL from a Windows/OSX environment you need to install a virtual linux system. We remind you that in order do use a virtualization software, you have to enable virtalization in your BIOS, as [explained in this page](http://meta.wikitolearn.org/WikiToLearn_Home/WikitoLearn_Home_Documentation/Local_WikiToLearn_Instance/How_To_Enable_Virtualization_On_Your_PC). 132 | 133 | ##### Vagrant Installation 134 | Using Vagrant is a quite simple way of using a virtual linux system for development purposes. 135 | 136 | This procedure requires using port 8080 tcp, 3128 tcp, 2121 to 2221 tcp on your host, this shouldn't be a problem unless you are running a network server (apache2, remote web control, ecc.). 137 | 138 | If you have a **Windows/OSX** operating system, then you need to run a WikiToLearn instance using Vagrant. You can also install Vagrant if you have a Linux o.s. However, it is not required to get a fully working installation. You can just skip to the next step. 139 | 140 | First, you need to install: 141 | 142 | * [VirtualBox](https://www.virtualbox.org/wiki/Downloads/) as engine for vagrant 143 | * [Vagrant](https://www.vagrantup.com/docs/installation/) for Windows/OS X users, for Linux it's optional. On Windows require restart. 144 | 145 | Now you have to download the last [devvagrant](https://github.com/WikiToLearn/devvagrant). You can download a snapshot as zip and then unzip it in your directory or use “git clone” to clone the repo. 146 | 147 | Now you have to 148 | 149 | `cd devvagrant # Where there is the Vagrantfile 150 | vagrant up` 151 | 152 | This can take a while because it will download the VM. 153 | 154 | And then log in to the shell with vagrant command 155 | 156 | `vagrant ssh` 157 | 158 | The machine has a FTP server to simplify file transfer, the server is anonymous and is reachable with 127.0.0.1 address at 2121 port.You have to configure your browser to get proxy configuration file from http://127.0.0.1:8080. To configure it on Mac OS X, go to System Preferences -> Network -> Advanced -> Proxy -> Automatic Proxy Configuration and write http://127.0.0.1:8080 as URL. 159 | 160 | Once you set up everything, you can proceed following the Linux Installation Guide, starting from cloning the git repo. 161 | 162 | ## Conclusion 163 | 164 | If you have specific questions, want to share your experience/problems you are facing during contributing or just want to say hi - feel free to DM me (@srijancse) or anyone available on the [chat.wikitolearn.org](https://chat.wikitolearn.org) :) 165 | 166 | 167 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /writeups/Drupal_Drupal_TameeshB.md: -------------------------------------------------------------------------------- 1 | # Contributing to Drupal 2 | 3 | ## What is Drupal 4 | Drupal is a content management software. 5 | It's used to make many of the websites and applications you use every day. 6 | Drupal has great standard features, like easy content authoring, reliable performance, and excellent security. 7 | But what sets it apart is its flexibility; modularity is one of its core principles. 8 | [More about the Drupal project here.](https://www.drupal.org/about) 9 | 10 | ## The Drupal community 11 | The Drupal community is one of the largest open source communities in the world. 12 | We're more than 1,000,000 passionate developers, designers, trainers, strategists, coordinators, editors, and sponsors working together. 13 | We build Drupal, provide support, create documentation, share networking opportunities, and more. 14 | Our shared commitment to the open source spirit pushes the Drupal project forward. 15 | New members are always welcome. 16 | 17 | ## Setting it up 18 | ### Prerequisites 19 | * Git 20 | * XAMPP/LAMP/MAMP (respectively for Windows/Linux/Mac OS) 21 | * phpmyadmin (XAMPP and MAMP stack already have it installed) 22 | * Composer 23 | 24 | ### Installing the server 25 | * [Video on installing MAMP on Mac OS.](https://drupalize.me/videos/installing-mamp-web-server) 26 | * [Guide on installing LAMP on Linux.](https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04) 27 | * [Guide on installing XAMPP on Windows.](https://www.drupal.org/node/2559943) 28 | * [Guide on installing phpmyadmin on LAMP stack.](https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-12-04) 29 | 30 | ### Setup Steps: 31 | 1. Download and install XAMPP/LAMP/MAMP depending on the operating system you use. 32 | 33 | 2. Start Apache and MySQL servers. 34 | 35 | 3. Start your terminal and navigate to your web server's directory. Enter one of the following commands: 36 | ###### on Windows ###### 37 |   `cd c:/xampp/htdocs` 38 | ###### on Linux ###### 39 |   `cd /var/www` 40 | ###### on Mac ###### 41 | `cd /Applications/MAMP/htdocs` 42 | 43 | 4. Run the following command in the command line window: 44 | ~~~~ 45 | git clone --branch 8.3.x http://git.drupal.org/project/drupal.git drupal8 46 | ~~~~ 47 |    This will clone Drupal 8 in the 'drupal8' folder.   48 | You might need admin permissions to perform the above step. 49 | 50 | 5. Provide Read and Write Permissions to 'sites/default' and all its subfolders. 51 | 52 | 6. Run the following command in the command line window: 53 | `cd drupal8` to move to drupal8 folder. 54 | `composer update` to install all dependencies required by Drupal. 55 | 56 | 7. Copy the 'default.settings.php', rename it 'settings.php' and paste it in the same folder. 57 | 58 | 8. Open localhost/phpmyadmin from your favourite browser. Click 'Database' on the top left and enter the name of the new database as 'drupal8' (without quotes). Select UTF Unicode from the drop-down box and click Create. 59 | 60 | 9. Set your password for MySQL for the “root” user by going to the 'User Accounts' tab in phpmyadmin. 61 | 62 | 10. Now we are all set to install Drupal on our local server. 63 | 64 | 11. Navigate to localhost/drupal8 . 65 | 66 | 12. Select your preferred language and the default installation profile. 67 | 68 | 13. Add information about the database server (mysql), site database (drupal8), database user (root) and database password (the password you set) . 69 | 70 | 14. After all core modules are installed, complete the form regarding the site configuration. 71 | 72 | ## IRC channels: 73 | On freenode: 74 | * #drupal (General Drupal queries) 75 | * #drupal-support (Drupal development queries) 76 | * #drupal-google (GSoC and GCI channel) 77 | 78 | ## Important Links: 79 | ### [Ways to contribute](https://www.drupal.org/contribute) 80 | ### [Ladder to begin contributing](http://drupalladder.org/ladder/47217ef7-9bf5-4c7f-926f-aeee247aac78) 81 | ### [Drupal Core Issue queue](https://www.drupal.org/project/issues/drupal?categories=All) 82 | ### [Novice issue queue](https://www.drupal.org/project/issues/search?status%5B0%5D=1&status%5B1%5D=8&status%5B2%5D=13&issue_tags_op=%3D&issue_tags=Novice) 83 | ### [Pending modules to port](https://contribkanban.com/board/contrib_tracker) . 84 | -------------------------------------------------------------------------------- /writeups/phpmyadmin_phpmyadmin_manishbisht.md: -------------------------------------------------------------------------------- 1 | # About 2 | phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement. 3 | 4 | # Contribute to phpMyAdmin 5 | As a free software project, phpMyAdmin is very open to your contributions. 6 | 7 | # Setting up the Development Environment on Linux 8 | ## Installing Requirements 9 | 1. Install Apache `sudo apt-get install apache2` 10 | 2. Install MySQL `sudo apt-get install mysql-server` 11 | 3. Install PHP `sudo apt-get install php5 libapache2-mod-php5` 12 | 4. Restart Server `sudo /etc/init.d/apache2 restart` 13 | 14 | or you can do all these in one step by running this command `sudo apt-get install lamp-server^` 15 | 16 | Now go to the web directory the default is `var/www/html` and follow the below steps. 17 | 18 | ## Installing from Git 19 | 20 | Go to https://github.com/phpmyadmin/phpmyadmin.git and fork the repository. 21 | 22 | Now clone the foked repository in your system: 23 | 24 | `git clone https://github.com//phpmyadmin.git` 25 | 26 | Additionally you need to install dependencies using the Composer tool: 27 | 28 | `composer update` 29 | 30 | Now Open your web browser and navigate to `http://locahost/` or `http://server-ip-address/`. 31 | 32 | ![](https://media.giphy.com/media/7rj2ZgttvgomY/giphy.gif) 33 | 34 | Congratulations !! Your developement environment is set up. You are now ready to fix bugs and make improvements. 35 | 36 | We welcome your contributions. Submit a pull request against our [GitHub repository](https://github.com/phpmyadmin/). You can also submit a [feature request](https://github.com/phpmyadmin/phpmyadmin/labels/enhancement) explaining your suggested improvements. 37 | 38 | If you have any issues feel free to reach out to our following mailing list. 39 | 40 | # Mailing Lists 41 | For news/announcements: news@phpmyadmin.net 42 | 43 | For developers: developers@phpmyadmin.net 44 | 45 | For translators: translators@phpmyadmin.net 46 | 47 | Git commit notifications: git@phpmyadmin.net 48 | 49 | [Mailing lists overview](https://lists.phpmyadmin.net/) 50 | 51 | # Additional Information 52 | - https://docs.phpmyadmin.net/en/latest/setup.html 53 | -------------------------------------------------------------------------------- /writeups/worldbrain_memex_arpitgogia.md: -------------------------------------------------------------------------------- 1 | # WorldBrain's Memex 2 | 3 | A browser extension that lets you create, search and eventually share your personal web of knowledge 4 | 5 | - **Full-Text-Search** all websites you visited and bookmarked 6 | - **Full Data Privacy** All data is stored and processed on your own computer and will **never ever ever EVER** be shared or used without your consent. Here at worldbrain we are highly concerned about your privacy and security please see our [privacy policy](#privacy-policy) for more details. 7 | 8 | Lookout for these exiting new features in the future: 9 | - **Automatically Rate** how useful you perceive the websites you visit based on your interactions with it. 10 | - **Add notes, comments and links** to similar valuable resources 11 | - **Integrate** with all your favorite services such as facebook, evernote and twitter. 12 | - **Sync** with all of your browsers, smart-phones, tablets, smart-fridges, electric cars, space-ships ect... 13 | - **Share** recommendations, comments, links & ratings with your network. 14 | - **Discover** new content that has high value within your network 15 | - **Diversify** the content you find by looking through great sources on the opposite side of your 'value' system. Break out of your 'filter bubble' 16 | 17 | More on that on our website: worldbrain.io 18 | 19 | ### Table Of Content 20 | 21 | 1. [Project Status](#project-status) 22 | 1. [How it Works](#how-it-works.md) 23 | 1. [Contact](#contact) 24 | 1. [License + Privacy Policy](#license-+-privacy-policy) 25 | 1. [See also](#see-also) 26 | 27 | **Seperate Docs** 28 | 29 | 1. [Contributing](./docs/Contributing-Guide.md) 30 | * [Getting Started](./docs/Contributing-Guide.md#getting-started) 31 | * [Installation](./docs/Contributing-Guide.md#installation) 32 | * [Running The Extension](./docs/Contributing-Guide.md#running-the-extension) 33 | 1. [Code Overview](./docs/Contributing-Guide.md#code-overview) 34 | * [A brief overview of Web Extensions](./docs/Contributing-Guide.md#a-brief-overview-of-web-e) 35 | * [Application Structure](./docs/Contributing-Guide.md#application-structure) 36 | * [Dependencies](./docs/Contributing-Guide.md#dependencies) 37 | 1. [In Depth How it Works](./docs/How-It-Works.md) 38 | 39 | ## Project Status 40 | We are currently on the cusp of releasing a brand new version of the extension. See [roadmap](https://trello.com/b/mdqEuBjb) for more details 41 | 42 | The old one can still be found here: worldbrain.io/download 43 | 44 | Want to help out? If you are: 45 | - A Marketer, A Designer or Investor please Email info@worldbrain.io 46 | - If want to [donate click here](https://www.patreon.com/WorldBrain)! :moneybag: 47 | 48 | **If your a developer Please see [Contributing!](./docs/Contributing-Guide.md)** 49 | 50 | Have questions? 51 | - [Feedback](#contact), how can we make our extension better? 52 | - [General Questions or Concerns](#contact) 53 | - [Feature Requests](#feature-requests), What features would you like to see in our app? All ideas & requests are welcome! 54 | - [Bugs or Issues](https://github.com/WorldBrain/Research-Engine/issues/new), is something broken or not working as you feel it should? 55 | 56 | ## How the Worldbrain Extension Works 57 | 58 | As you browse through websites WorldBrain will work automatically in the background see our [intro video](https://youtu.be/rtYA8_taswk) for more information. When you are ready to search through your history follow the steps below. 59 | 60 | 1. Go to the address bar of your browser 61 | 2. Type `w` + `space_bar` 62 | 3. Now simply type in your search query and the results will show below. 63 | 64 | ![](https://github.com/swissums/worldbrain-doc-gifs/blob/master/how-it-works.gif) 65 | 66 | ## Contact 67 | 68 | Find us in [our Slack channel](https://join-worldbrain.herokuapp.com/) or contact us [via email](mailto:info@worldbrain.io). 69 | 70 | ### Feedback, Questions or Concerns 71 | **How can we make our extension better?** 72 | 73 | Please email: feedback@worldbrain.io 74 | or drop by our [slack channel](https://join-worldbrain.herokuapp.com/) and post a message in #General 75 | 76 | ### Feature Requests 77 | **Request any new features you may want to see!** 78 | 79 | 80 | Please either create a new [issue](https://github.com/WorldBrain/WebMemex/issues/new) 81 | or send us a message in the slack feature_request channel! 82 | You can join here https://join-worldbrain.herokuapp.com/ 83 | 84 | ### Bugs and Issues 85 | **Is the extension acting funny?** 86 | **Something not working properly or seems off?** 87 | 88 | Please create a new [issue](https://github.com/WorldBrain/WebMemex/issues/new) 89 | 90 | ## License + Privacy Policy 91 | 92 | ### MIT Licensed see [License](./License) 93 | 94 | ### Privacy Policy 95 | 96 | We truly care about your privacy. So our privacy policy is as simple as we can make it. 97 | 98 | We will never retain or sell your data. 99 | It is actually impossible for us to do so as all of your data is kept on your local machine. 100 | :see_no_evil::hear_no_evil::speak_no_evil: 101 | 102 | 103 | ## See also 104 | 105 | External resources 106 | 107 | * [Donate to WorldBrain - www.patreon.com](https://www.patreon.com/WorldBrain) 108 | * [Join the WorldBrain community on Slack! - join-worldbrain.herokuapp.com](https://join-worldbrain.herokuapp.com/) 109 | * [Worldbrain is creating a structural solution to online (scientific) misinformation - www.worldbrain.io](https://worldbrain.io) 110 | --------------------------------------------------------------------------------